
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void finish_dynamic_section(Layout * this, Input_objects *
   input_objects, Symbol_table * symtab) */

void __thiscall
gold::Layout::finish_dynamic_section(Layout *this,Input_objects *input_objects,Symbol_table *symtab)

{
  Dynamic_entries *this_00;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar1;
  uint uVar2;
  byte bVar3;
  Output_data_dynamic *pOVar4;
  Elf_Word EVar5;
  Dynamic_entry *pDVar6;
  size_t __n;
  Elf_Xword EVar7;
  size_type sVar8;
  bool bVar9;
  Symbol *pSVar10;
  int iVar11;
  Output_segment *pOVar12;
  Output_section *pOVar13;
  General_options *pGVar14;
  char *pcVar15;
  anon_union_4_4_94c5dad9_for_u_ *__args_0;
  iterator iVar16;
  char cVar17;
  iterator __position;
  undefined4 uVar18;
  pointer pcVar19;
  pointer pSVar20;
  pointer ppOVar21;
  pointer pSVar22;
  _Hash_node_base *p_Var23;
  pointer ppOVar24;
  pointer local_60;
  anon_union_4_4_94c5dad9_for_u_ local_54;
  anon_union_4_4_94c5dad9_for_u_ local_50;
  undefined4 local_4c;
  undefined4 local_48;
  anon_union_4_4_94c5dad9_for_u_ local_44;
  anon_union_4_4_94c5dad9_for_u_ local_40;
  undefined4 local_3c;
  undefined4 local_38;
  string rpath_val;
  
  if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||
      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&
     (this->dynamic_section_ != (Output_section *)0x0)) {
    pOVar12 = make_output_segment(this,2,6);
    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);
    pOVar4 = this->dynamic_data_;
  }
  else {
    pOVar4 = this->dynamic_data_;
  }
  if (pOVar4 == (Output_data_dynamic *)0x0) {
    return;
  }
  local_60 = (input_objects->dynobj_list_).
             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start;
  if (local_60 !=
      (input_objects->dynobj_list_).
      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish) {
    do {
      while( true ) {
        bVar3 = ((*local_60)->super_Object).field_0x2c;
        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;
LAB_0009d1fa:
        local_60 = local_60 + 1;
        if ((input_objects->dynobj_list_).
            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==
            local_60) goto LAB_0009d268;
      }
      rpath_val._M_dataplus._M_p =
           Stringpool_template<char>::add
                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);
      rpath_val.field_2._M_allocated_capacity = 1;
      iVar16._M_current =
           (pOVar4->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffc;
      if (iVar16._M_current !=
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_NEEDED;
        (iVar16._M_current)->offset_ = 0xfffffffc;
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar16._M_current + 1;
        goto LAB_0009d1fa;
      }
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
      local_60 = local_60 + 1;
    } while ((input_objects->dynobj_list_).
             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=
             local_60);
  }
LAB_0009d268:
  pGVar14 = parameters->options_;
  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
  if (((pGVar14->shared_).value != false) &&
     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)) {
    rpath_val._M_dataplus._M_p =
         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);
    rpath_val.field_2._M_allocated_capacity = 0xe;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xfffffffc;
    if (iVar16._M_current ==
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_SONAME;
      (iVar16._M_current)->offset_ = 0xfffffffc;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    pGVar14 = parameters->options_;
    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
  }
  pSVar10 = Symbol_table::lookup(symtab,(pGVar14->init_).value,(char *)0x0);
  if (pSVar10 != (Symbol *)0x0) {
    if ((pSVar10->field_0x2a & 7) == 0) {
      if ((pSVar10->field_0x2b & 0x20) == 0) {
        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);
        if (!bVar9) {
          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;
          goto LAB_0009dd61;
        }
      }
      else if ((pSVar10->u2_).shndx != 0) {
LAB_0009dd61:
        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].
                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;
      }
    }
    else if ((pSVar10->field_0x2a & 7) != 4) {
LAB_0009dd08:
      rpath_val.field_2._M_allocated_capacity = 0xc;
      iVar16._M_current =
           (pOVar4->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffd;
      rpath_val._M_dataplus._M_p = (pointer)pSVar10;
      if (iVar16._M_current ==
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).sym = pSVar10;
        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_INIT;
        (iVar16._M_current)->offset_ = 0xfffffffd;
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
    }
  }
  if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;
  pSVar10 = Symbol_table::lookup(symtab,(parameters->options_->fini_).value,(char *)0x0);
  if (pSVar10 != (Symbol *)0x0) {
    if ((pSVar10->field_0x2a & 7) == 0) {
      if ((pSVar10->field_0x2b & 0x20) == 0) {
        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);
        if (!bVar9) {
          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;
          goto LAB_0009dd91;
        }
      }
      else if ((pSVar10->u2_).shndx != 0) {
LAB_0009dd91:
        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].
                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;
      }
    }
    else if ((pSVar10->field_0x2a & 7) != 4) {
LAB_0009dcc0:
      rpath_val.field_2._M_allocated_capacity = 0xd;
      iVar16._M_current =
           (pOVar4->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffd;
      rpath_val._M_dataplus._M_p = (pointer)pSVar10;
      if (iVar16._M_current ==
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).sym = pSVar10;
        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_FINI;
        (iVar16._M_current)->offset_ = 0xfffffffd;
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
    }
  }
  ppOVar21 = (this->section_list_).
             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
             _M_impl._M_start;
  this_00 = &pOVar4->entries_;
  if (ppOVar21 !=
      (this->section_list_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish) {
    do {
      while( true ) {
        pOVar13 = *ppOVar21;
        EVar5 = pOVar13->type_;
        if (EVar5 != 0xf) break;
        pDVar6 = (pOVar4->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (pOVar4->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x1a;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (pDVar6 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (pointer)pOVar13;
          std::
          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);
          pOVar13 = *ppOVar21;
          __position._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_finish;
          iVar16._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_end_of_storage;
        }
        else {
          (pDVar6->u_).val = (uint)pOVar13;
          __position._M_current = pDVar6 + 1;
          pDVar6->od2 = (Output_data *)0x0;
          pDVar6->tag_ = DT_FINI_ARRAY;
          pDVar6->offset_ = 0;
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x1c;
        rpath_val.field_2._4_4_ = 0xfffffffe;
        rpath_val._M_string_length = 0;
        if (iVar16._M_current == __position._M_current) {
          rpath_val._M_dataplus._M_p = (pointer)pOVar13;
          std::
          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);
          goto LAB_0009d3b9;
        }
LAB_0009d43e:
        rpath_val.field_2._4_4_ = 0xfffffffe;
        rpath_val._M_string_length = 0;
        ((__position._M_current)->u_).val = (uint)pOVar13;
        ppOVar21 = ppOVar21 + 1;
        (__position._M_current)->od2 = (Output_data *)0x0;
        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;
        (__position._M_current)->offset_ = 0xfffffffe;
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = __position._M_current + 1;
        rpath_val._M_dataplus._M_p = (pointer)pOVar13;
        if ((this->section_list_).
            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;
      }
      if (EVar5 == 0x10) {
        pDVar6 = (pOVar4->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (pOVar4->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x20;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (pDVar6 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (pointer)pOVar13;
          std::
          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);
          pOVar13 = *ppOVar21;
          __position._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_finish;
          iVar16._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_end_of_storage;
        }
        else {
          (pDVar6->u_).val = (uint)pOVar13;
          __position._M_current = pDVar6 + 1;
          pDVar6->od2 = (Output_data *)0x0;
          pDVar6->tag_ = DT_ENCODING;
          pDVar6->offset_ = 0;
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x21;
      }
      else {
        if (EVar5 != 0xe) goto LAB_0009d3b9;
        pDVar6 = (pOVar4->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (pOVar4->entries_).
             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x19;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (pDVar6 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (pointer)pOVar13;
          std::
          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);
          pOVar13 = *ppOVar21;
          __position._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_finish;
          iVar16._M_current =
               (pOVar4->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_end_of_storage;
        }
        else {
          (pDVar6->u_).val = (uint)pOVar13;
          __position._M_current = pDVar6 + 1;
          pDVar6->od2 = (Output_data *)0x0;
          pDVar6->tag_ = DT_INIT_ARRAY;
          pDVar6->offset_ = 0;
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x1b;
      }
      rpath_val.field_2._4_4_ = 0xfffffffe;
      rpath_val._M_string_length = 0;
      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;
      rpath_val._M_dataplus._M_p = (pointer)pOVar13;
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (this_00,__position,(Dynamic_entry *)&rpath_val);
LAB_0009d3b9:
      ppOVar21 = ppOVar21 + 1;
    } while ((this->section_list_).
             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
             _M_impl._M_finish != ppOVar21);
  }
LAB_0009d46a:
  pGVar14 = parameters->options_;
  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
  pSVar22 = (pGVar14->rpath_).value.
            super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
            _M_impl._M_start;
  if (pSVar22 !=
      (pGVar14->rpath_).value.
      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.
      _M_finish) {
    paVar1 = &rpath_val.field_2;
    rpath_val._M_string_length = 0;
    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;
    rpath_val._M_dataplus._M_p = (pointer)paVar1;
    do {
      sVar8 = rpath_val._M_string_length;
      if (rpath_val._M_string_length == 0) {
                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */
        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);
      }
      else {
        pSVar20 = (pGVar14->rpath_).value.
                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                  ._M_impl._M_start;
        if (pSVar20 != pSVar22) {
          __n = (pSVar22->name_)._M_string_length;
          do {
            if (((pSVar20->name_)._M_string_length == __n) &&
               ((__n == 0 ||
                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p
                                 ,__n), iVar11 == 0)))) {
              if (pSVar22 != pSVar20) {
                if ((pGVar14->rpath_).value.
                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>
                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;
                goto LAB_0009d4d8;
              }
              break;
            }
            pSVar20 = pSVar20 + 1;
          } while (pSVar22 != pSVar20);
        }
        uVar2 = sVar8 + 1;
        uVar18 = 0xf;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)rpath_val._M_dataplus._M_p != paVar1) {
          uVar18 = rpath_val.field_2._M_allocated_capacity;
        }
        if (uVar18 < uVar2) {
                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */
          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);
        }
        rpath_val._M_dataplus._M_p[sVar8] = ':';
        rpath_val._M_dataplus._M_p[uVar2] = '\0';
        rpath_val._M_string_length = uVar2;
                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */
        std::string::_M_append
                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,
                   (pSVar22->name_)._M_string_length);
      }
      if ((pGVar14->rpath_).value.
          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.
          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;
LAB_0009d4d8:
      pSVar22 = pSVar22 + 1;
    } while( true );
  }
LAB_0009d5ce:
  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {
    ppOVar24 = (this->segment_list_).
               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.
               _M_impl._M_start;
    if (ppOVar24 !=
        (this->segment_list_).
        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.
        _M_finish) {
      do {
        pOVar12 = *ppOVar24;
        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&
           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;
        ppOVar24 = ppOVar24 + 1;
      } while ((this->segment_list_).
               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.
               _M_impl._M_finish != ppOVar24);
    }
  }
  else {
    for (ppOVar21 = (this->section_list_).
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
        ppOVar21 !=
        (this->section_list_).
        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
        _M_finish; ppOVar21 = ppOVar21 + 1) {
      EVar7 = (*ppOVar21)->flags_;
      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&
         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;
    }
  }
  bVar9 = false;
LAB_0009d624:
  pGVar14 = parameters->options_;
  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
  pcVar15 = (pGVar14->filter_).value;
  if (pcVar15 != (char *)0x0) {
    rpath_val._M_dataplus._M_p =
         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);
    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xfffffffc;
    if (iVar16._M_current ==
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_FILTER;
      (iVar16._M_current)->offset_ = 0xfffffffc;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    pGVar14 = parameters->options_;
    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
  }
  if (((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&
     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,
     p_Var23 != (_Hash_node_base *)0x0)) {
    do {
      rpath_val._M_dataplus._M_p =
           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);
      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;
      iVar16._M_current =
           (pOVar4->entries_).
           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffc;
      if (iVar16._M_current ==
          (pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage) {
        std::
        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_AUXILIARY;
        (iVar16._M_current)->offset_ = 0xfffffffc;
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
      p_Var23 = p_Var23->_M_nxt;
      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;
    } while (p_Var23 != (_Hash_node_base *)0x0);
  }
  if (bVar9) {
    rpath_val.field_2._M_allocated_capacity = 0x16;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = (pointer)0x0;
    if (iVar16._M_current ==
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = 0;
      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_TEXTREL;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    pGVar14 = parameters->options_;
    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
    if ((pGVar14->text_).value != false) {
      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");
      gold_error(pcVar15);
LAB_0009dde4:
      pGVar14 = parameters->options_;
      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;
      cVar17 = (pGVar14->shared_).value;
      pcVar19 = (pointer)0x4;
      goto LAB_0009d9a3;
    }
    cVar17 = (pGVar14->shared_).value;
    pcVar19 = (pointer)0x4;
    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;
    if ((bool)cVar17 != false) {
      pcVar15 = (char *)gettext("shared library text segment is not shareable");
      gold_warning(pcVar15);
      goto LAB_0009dde4;
    }
  }
  else {
    pcVar19 = (pointer)0x0;
    pGVar14 = parameters->options_;
    cVar17 = (pGVar14->shared_).value;
LAB_0009d9a3:
    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {
      pcVar19 = (pointer)((uint)pcVar19 | 0x10);
    }
  }
  if ((pGVar14->origin_).value != false) {
    pcVar19 = (pointer)((uint)pcVar19 | 1);
  }
  if (((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)) {
    pGVar14 = parameters->options_;
    if ((pGVar14->now_).value != false) {
LAB_0009db37:
      pcVar19 = (pointer)((uint)pcVar19 | 8);
      goto LAB_0009db3a;
    }
    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;
  }
  else {
    pcVar19 = (pointer)((uint)pcVar19 | 2);
    rpath_val.field_2._M_allocated_capacity = 0x10;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = (pointer)0x0;
    if (iVar16._M_current ==
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = 0;
      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_SYMBOLIC;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;
    if ((parameters->options_->now_).value != false) goto LAB_0009db37;
LAB_0009db3a:
    rpath_val.field_2._M_allocated_capacity = 0x1e;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = pcVar19;
    if (iVar16._M_current ==
        (pOVar4->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_end_of_storage) {
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = (uint)pcVar19;
      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_FLAGS;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    pGVar14 = parameters->options_;
    if (pGVar14 == (General_options *)0x0) {
LAB_0009db81:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
  }
  rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2);
  if ((pGVar14->initfirst_).value != false) {
    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);
  }
  if ((pGVar14->interpose_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;
  }
  if ((pGVar14->loadfltr_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;
  }
  if ((pGVar14->nodefaultlib_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;
  }
  if ((pGVar14->nodelete_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;
  }
  if ((pGVar14->nodlopen_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;
  }
  if ((pGVar14->nodump_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;
  }
  if ((pGVar14->shared_).value == false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;
  }
  if ((pGVar14->origin_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;
  }
  bVar9 = (pGVar14->Bgroup_).value;
  if ((pGVar14->now_).value == false) {
    if (bVar9 == false) {
      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {
        return;
      }
      goto LAB_0009da89;
    }
  }
  else {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;
    if (bVar9 == false) goto LAB_0009da89;
  }
  rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;
LAB_0009da89:
  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;
  iVar16._M_current =
       (pOVar4->entries_).
       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
       ._M_impl._M_finish;
  rpath_val.field_2._4_4_ = 0xffffffff;
  if (iVar16._M_current ==
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_end_of_storage) {
    std::
    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);
    return;
  }
  ((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p;
  (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;
  (iVar16._M_current)->tag_ = DT_FLAGS_1;
  (iVar16._M_current)->offset_ = 0xffffffff;
  (pOVar4->entries_).
  super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
  ._M_impl._M_finish = iVar16._M_current + 1;
  return;
LAB_0009d54c:
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if ((parameters->options_->enable_new_dtags_).value == false) {
                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */
    local_54.str = Stringpool_template<char>::add
                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);
    local_4c = 0xf;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    local_48 = 0xfffffffc;
    if (&(iVar16._M_current)->u_ ==
        &((pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage)->u_) {
      __args_0 = &local_54;
      goto LAB_0009de3d;
    }
    (iVar16._M_current)->u_ = (char *)local_54;
    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;
    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;
    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;
    (pOVar4->entries_).
    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);
  }
  else {
    local_44.str = Stringpool_template<char>::add
                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);
    local_3c = 0x1d;
    iVar16._M_current =
         (pOVar4->entries_).
         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
         ._M_impl._M_finish;
    local_38 = 0xfffffffc;
    if (&(iVar16._M_current)->u_ ==
        &((pOVar4->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_end_of_storage)->u_) {
      __args_0 = &local_44;
LAB_0009de3d:
                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */
      std::
      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>
                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);
    }
    else {
      (iVar16._M_current)->u_ = (char *)local_44;
      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;
      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;
      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;
      (pOVar4->entries_).
      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);
    }
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)rpath_val._M_dataplus._M_p != paVar1) {
    operator_delete(rpath_val._M_dataplus._M_p);
  }
  goto LAB_0009d5ce;
LAB_0009d929:
  bVar9 = true;
  goto LAB_0009d624;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_0009d170(int param_1,int param_2,undefined4 param_3)

{
  uint uVar1;
  byte bVar2;
  int iVar3;
  uint uVar4;
  uint *puVar5;
  bool bVar6;
  char cVar7;
  uint *puVar8;
  int iVar9;
  uint *puVar10;
  int iVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  size_t extraout_ECX;
  size_t __n;
  uint *puVar14;
  size_t extraout_ECX_00;
  uint *puVar15;
  uint uVar16;
  undefined4 *puVar17;
  int *piVar18;
  int *local_60;
  undefined4 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  uint *local_34;
  uint local_30;
  uint local_2c;
  undefined4 local_28;
  
  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||
      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {
    uVar12 = FUN_0009b0e0(param_1,2,6);
    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);
    iVar3 = *(int *)(param_1 + 0x18c);
  }
  else {
    iVar3 = *(int *)(param_1 + 0x18c);
  }
  if (iVar3 == 0) {
    return;
  }
  local_60 = *(int **)(param_2 + 0xc);
  if (local_60 != *(int **)(param_2 + 0x10)) {
    do {
      while( true ) {
        bVar2 = *(byte *)(*local_60 + 0x2c);
        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;
LAB_0009d1fa:
        local_60 = local_60 + 1;
        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;
      }
      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),
                                      *(undefined4 *)(*local_60 + 0x38),1,0);
      local_2c = 1;
      puVar8 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffc;
      if (puVar8 != *(uint **)(iVar3 + 0x34)) {
        *puVar8 = (uint)local_34;
        puVar8[1] = local_30;
        puVar8[2] = 1;
        puVar8[3] = 0xfffffffc;
        *(uint **)(iVar3 + 0x30) = puVar8 + 4;
        goto LAB_0009d1fa;
      }
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
      local_60 = local_60 + 1;
    } while (*(int **)(param_2 + 0x10) != local_60);
  }
LAB_0009d268:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {
    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);
    local_2c = 0xe;
    puVar8 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xfffffffc;
    if (puVar8 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    }
    else {
      *puVar8 = (uint)local_34;
      puVar8[1] = local_30;
      puVar8[2] = 0xe;
      puVar8[3] = 0xfffffffc;
      *(uint **)(iVar3 + 0x30) = puVar8 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
  }
  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);
  if (puVar8 != (uint *)0x0) {
    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {
      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {
        cVar7 = FUN_00177470(puVar8[3]);
        if (cVar7 == '\0') {
          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;
          goto LAB_0009dd61;
        }
      }
      else if (puVar8[3] != 0) {
LAB_0009dd61:
        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;
      }
    }
    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {
LAB_0009dd08:
      local_2c = 0xc;
      puVar10 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffd;
      local_34 = puVar8;
      if (puVar10 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
      }
      else {
        *puVar10 = (uint)puVar8;
        puVar10[1] = local_30;
        puVar10[2] = 0xc;
        puVar10[3] = 0xfffffffd;
        *(uint **)(iVar3 + 0x30) = puVar10 + 4;
      }
    }
  }
  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);
  if (puVar8 != (uint *)0x0) {
    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {
      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {
        cVar7 = FUN_00177470(puVar8[3]);
        if (cVar7 == '\0') {
          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;
          goto LAB_0009dd91;
        }
      }
      else if (puVar8[3] != 0) {
LAB_0009dd91:
        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;
      }
    }
    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {
LAB_0009dcc0:
      local_2c = 0xd;
      puVar10 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffd;
      local_34 = puVar8;
      if (puVar10 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
      }
      else {
        *puVar10 = (uint)puVar8;
        puVar10[1] = local_30;
        puVar10[2] = 0xd;
        puVar10[3] = 0xfffffffd;
        *(uint **)(iVar3 + 0x30) = puVar10 + 4;
      }
    }
  }
  puVar8 = *(uint **)(param_1 + 0x130);
  iVar11 = iVar3 + 0x2c;
  if (puVar8 != *(uint **)(param_1 + 0x134)) {
    do {
      while( true ) {
        puVar10 = (uint *)*puVar8;
        uVar4 = puVar10[0x14];
        if (uVar4 != 0xf) break;
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x1a;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x1a;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x1c;
        local_28 = 0xfffffffe;
        local_30 = 0;
        if (puVar14 == puVar15) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          goto LAB_0009d3b9;
        }
LAB_0009d43e:
        local_28 = 0xfffffffe;
        local_30 = 0;
        *puVar15 = (uint)puVar10;
        puVar8 = puVar8 + 1;
        puVar15[1] = 0;
        puVar15[2] = local_2c;
        puVar15[3] = 0xfffffffe;
        *(uint **)(iVar3 + 0x30) = puVar15 + 4;
        local_34 = puVar10;
        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;
      }
      if (uVar4 == 0x10) {
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x20;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x20;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x21;
      }
      else {
        if (uVar4 != 0xe) goto LAB_0009d3b9;
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x19;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x19;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x1b;
      }
      local_28 = 0xfffffffe;
      local_30 = 0;
      if (puVar15 != puVar14) goto LAB_0009d43e;
      local_34 = puVar10;
      FUN_000a5aa0(iVar11,puVar15,&local_34);
LAB_0009d3b9:
      puVar8 = puVar8 + 1;
    } while (*(uint **)(param_1 + 0x134) != puVar8);
  }
LAB_0009d46a:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);
  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {
    local_30 = 0;
    local_2c = local_2c & 0xffffff00;
    local_34 = &local_2c;
    do {
      uVar4 = local_30;
      if (local_30 == 0) {
                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */
        FUN_001ee9c0(&local_34,puVar17);
        __n = extraout_ECX;
      }
      else {
        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);
        if (puVar13 != puVar17) {
          __n = puVar17[1];
          do {
            if ((puVar13[1] == __n) &&
               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))
            {
              if (puVar17 != puVar13) {
                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;
                goto LAB_0009d4d8;
              }
              break;
            }
            puVar13 = puVar13 + 7;
          } while (puVar17 != puVar13);
        }
        uVar1 = uVar4 + 1;
        uVar16 = 0xf;
        if (local_34 != &local_2c) {
          uVar16 = local_2c;
        }
        if (uVar16 < uVar1) {
                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */
          FUN_001eeaa0(&local_34,uVar4,0,0,1);
        }
        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;
        *(undefined1 *)((int)local_34 + uVar1) = 0;
        local_30 = uVar1;
                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */
        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);
        __n = extraout_ECX_00;
      }
      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;
LAB_0009d4d8:
      puVar17 = puVar17 + 7;
    } while( true );
  }
LAB_0009d5ce:
  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {
    piVar18 = *(int **)(param_1 + 0x124);
    if (piVar18 != *(int **)(param_1 + 0x128)) {
      do {
        iVar11 = *piVar18;
        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&
           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;
        piVar18 = piVar18 + 1;
      } while (*(int **)(param_1 + 0x128) != piVar18);
    }
  }
  else {
    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);
        piVar18 = piVar18 + 1) {
      uVar4 = *(uint *)(*piVar18 + 0x54);
      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))
      goto LAB_0009d929;
    }
  }
  bVar6 = false;
LAB_0009d624:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  if (*(int *)(iVar11 + 0x1478) != 0) {
    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);
    local_2c = 0x7fffffff;
    puVar8 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xfffffffc;
    if (puVar8 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    }
    else {
      *puVar8 = (uint)local_34;
      puVar8[1] = local_30;
      puVar8[2] = 0x7fffffff;
      puVar8[3] = 0xfffffffc;
      *(uint **)(iVar3 + 0x30) = puVar8 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
  }
  if ((*(int *)(iVar11 + 0x1428) != 0) &&
     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {
    do {
      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);
      local_2c = 0x7ffffffd;
      puVar8 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffc;
      if (puVar8 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
      }
      else {
        *puVar8 = (uint)local_34;
        puVar8[1] = local_30;
        puVar8[2] = 0x7ffffffd;
        puVar8[3] = 0xfffffffc;
        *(uint **)(iVar3 + 0x30) = puVar8 + 4;
      }
      piVar18 = (int *)*piVar18;
      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
    } while (piVar18 != (int *)0x0);
  }
  if (bVar6) {
    local_2c = 0x16;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = (uint *)0x0;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);
    }
    else {
      *puVar17 = 0;
      puVar17[1] = local_30;
      puVar17[2] = 0x16;
      puVar17[3] = 0xffffffff;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
    if (*(char *)(iVar11 + 0x577d) != '\0') {
      uVar12 = gettext("read-only segment has dynamic relocations");
      FUN_000654b0(uVar12);
LAB_0009dde4:
      iVar11 = *(int *)(DAT_0038f378 + 8);
      if (iVar11 == 0) goto LAB_0009db81;
      cVar7 = *(char *)(iVar11 + 0x1a25);
      puVar8 = (uint *)0x4;
      goto LAB_0009d9a3;
    }
    cVar7 = *(char *)(iVar11 + 0x1a25);
    puVar8 = (uint *)0x4;
    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;
    if (cVar7 != '\0') {
      uVar12 = gettext("shared library text segment is not shareable");
      FUN_000654e0(uVar12);
      goto LAB_0009dde4;
    }
  }
  else {
    puVar8 = (uint *)0x0;
    iVar11 = *(int *)(DAT_0038f378 + 8);
    cVar7 = *(char *)(iVar11 + 0x1a25);
LAB_0009d9a3:
    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {
      puVar8 = (uint *)((uint)puVar8 | 0x10);
    }
  }
  if (*(char *)(iVar11 + 0x563d) != '\0') {
    puVar8 = (uint *)((uint)puVar8 | 1);
  }
  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (*(char *)(iVar11 + 0x55c1) != '\0') {
LAB_0009db37:
      puVar8 = (uint *)((uint)puVar8 | 8);
      goto LAB_0009db3a;
    }
    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;
  }
  else {
    puVar8 = (uint *)((uint)puVar8 | 2);
    local_2c = 0x10;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = (uint *)0x0;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);
    }
    else {
      *puVar17 = 0;
      puVar17[1] = local_30;
      puVar17[2] = 0x10;
      puVar17[3] = 0xffffffff;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;
LAB_0009db3a:
    local_2c = 0x1e;
    puVar10 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = puVar8;
    if (puVar10 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
    }
    else {
      *puVar10 = (uint)puVar8;
      puVar10[1] = local_30;
      puVar10[2] = 0x1e;
      puVar10[3] = 0xffffffff;
      *(uint **)(iVar3 + 0x30) = puVar10 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) {
LAB_0009db81:
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/parameters.h",0x5c,"options");
    }
  }
  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);
  if (*(char *)(iVar11 + 0x5029) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x20);
  }
  if (*(char *)(iVar11 + 0x50a5) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x400);
  }
  if (*(char *)(iVar11 + 0x5199) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x10);
  }
  if (*(char *)(iVar11 + 0x5355) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x800);
  }
  if (*(char *)(iVar11 + 0x53d1) != '\0') {
    local_34 = (uint *)((uint)local_34 | 8);
  }
  if (*(char *)(iVar11 + 0x544d) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x40);
  }
  if (*(char *)(iVar11 + 0x54c9) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x1000);
  }
  if (*(char *)(iVar11 + 0x1a25) == '\0') {
    local_34 = (uint *)((uint)local_34 & 0xffffff97);
  }
  if (*(char *)(iVar11 + 0x563d) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x80);
  }
  if (*(char *)(iVar11 + 0x55c1) == '\0') {
    if (*(char *)(iVar11 + 0x72d) == '\0') {
      if (local_34 == (uint *)0x0) {
        return;
      }
      goto LAB_0009da89;
    }
  }
  else {
    local_34 = (uint *)((uint)local_34 | 1);
    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;
  }
  local_34 = (uint *)((uint)local_34 | 4);
LAB_0009da89:
  local_2c = 0x6ffffffb;
  puVar8 = *(uint **)(iVar3 + 0x30);
  local_28 = 0xffffffff;
  if (puVar8 == *(uint **)(iVar3 + 0x34)) {
    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    return;
  }
  *puVar8 = (uint)local_34;
  puVar8[1] = local_30;
  puVar8[2] = 0x6ffffffb;
  puVar8[3] = 0xffffffff;
  *(uint **)(iVar3 + 0x30) = puVar8 + 4;
  return;
LAB_0009d54c:
  if (*(int *)(DAT_0038f378 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */
    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);
  }
  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {
                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */
    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);
    local_4c = 0xf;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_48 = 0xfffffffc;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      puVar13 = &local_54;
      goto LAB_0009de3d;
    }
    *puVar17 = local_54;
    puVar17[1] = local_50;
    puVar17[2] = 0xf;
    puVar17[3] = 0xfffffffc;
    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
  }
  else {
    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);
    local_3c = 0x1d;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_38 = 0xfffffffc;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      puVar13 = &local_44;
LAB_0009de3d:
                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);
    }
    else {
      *puVar17 = local_44;
      puVar17[1] = local_40;
      puVar17[2] = 0x1d;
      puVar17[3] = 0xfffffffc;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
  }
  if (local_34 != &local_2c) {
    FUN_001e6db0(local_34);
  }
  goto LAB_0009d5ce;
LAB_0009d929:
  bVar6 = true;
  goto LAB_0009d624;
}


CALL 0x000559e6
ADD EAX,0x2f1e8b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x6c
MOV dword ptr [EBP + -0x60],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
CMP byte ptr [EAX + 0xac],0x0
JZ 0x0009d740
MOV EAX,dword ptr [EAX + 0xbc]
TEST EAX,EAX
JZ 0x0009d740
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x18c]
TEST ESI,ESI
JZ 0x0009d789
LEA ECX,[EBP + -0x30]
MOV EAX,dword ptr [EDI + 0xc]
MOV dword ptr [EBP + -0x64],ECX
LEA ECX,[ESI + 0x2c]
MOV dword ptr [EBP + -0x68],ECX
CMP EAX,dword ptr [EDI + 0x10]
JZ 0x0009d268
MOV dword ptr [EBP + -0x5c],EAX
JMP 0x0009d206
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EDX
ADD dword ptr [EBP + -0x5c],0x4
MOV EAX,dword ptr [EBP + -0x5c]
CMP dword ptr [EDI + 0x10],EAX
JZ 0x0009d268
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOVZX EDX,byte ptr [EAX + 0x2c]
TEST DL,0x2
JNZ 0x0009d219
AND EDX,0x40
JNZ 0x0009d1fa
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH dword ptr [EAX + 0x38]
PUSH dword ptr [ESI + 0x38]
CALL 0x00174930
MOV dword ptr [EBP + -0x28],0x1
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],0xfffffffc
MOV dword ptr [EBP + -0x30],EAX
CMP EDX,dword ptr [ESI + 0x34]
JNZ 0x0009d1e0
SUB ESP,0x4
PUSH dword ptr [EBP + -0x64]
PUSH EDX
PUSH dword ptr [EBP + -0x68]
CALL 0x000a5aa0
ADD dword ptr [EBP + -0x5c],0x4
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x5c]
CMP dword ptr [EDI + 0x10],EAX
JNZ 0x0009d206
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x60]
LEA EAX,[EAX + 0x378]
MOV dword ptr [EBP + -0x5c],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x0009d2ee
MOV EDX,dword ptr [EAX + 0x1aa4]
TEST EDX,EDX
JZ 0x0009d2ee
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH EDX
PUSH dword ptr [ESI + 0x38]
CALL 0x00174930
MOV dword ptr [EBP + -0x28],0xe
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],0xfffffffc
MOV dword ptr [EBP + -0x30],EAX
CMP EDX,dword ptr [ESI + 0x34]
JZ 0x0009de1e
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EDX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x0
PUSH dword ptr [EAX + 0x1f20]
PUSH dword ptr [EBP + 0x10]
CALL 0x00179ab0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0009d330
MOVZX EAX,byte ptr [EAX + 0x2a]
AND EAX,0x7
JNZ 0x0009dd00
MOV EAX,dword ptr [EDI + 0xc]
TEST byte ptr [EDI + 0x2b],0x20
JZ 0x0009dd44
TEST EAX,EAX
JNZ 0x0009dd61
NOP
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x0
PUSH dword ptr [EAX + 0x1538]
PUSH dword ptr [EBP + 0x10]
CALL 0x00179ab0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0009d388
MOVZX EAX,byte ptr [EAX + 0x2a]
AND EAX,0x7
JNZ 0x0009dcb8
MOV EAX,dword ptr [EDI + 0xc]
TEST byte ptr [EDI + 0x2b],0x20
JZ 0x0009dd70
TEST EAX,EAX
JNZ 0x0009dd91
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x8]
LEA EBX,[EBP + -0x30]
MOV EDI,dword ptr [EAX + 0x130]
LEA EAX,[ESI + 0x2c]
MOV dword ptr [EBP + -0x64],EAX
MOV EAX,dword ptr [EBP + 0x8]
CMP EDI,dword ptr [EAX + 0x134]
JZ 0x0009d46a
MOV dword ptr [EBP + -0x68],EBX
JMP 0x0009d3cb
CMP EDX,0xe
JZ 0x0009d810
MOV EAX,dword ptr [EBP + 0x8]
ADD EDI,0x4
CMP dword ptr [EAX + 0x134],EDI
JZ 0x0009d46a
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [EAX + 0x50]
CMP EDX,0xf
JZ 0x0009d798
CMP EDX,0x10
JNZ 0x0009d3b0
MOV EDX,dword ptr [ESI + 0x30]
MOV ECX,dword ptr [ESI + 0x34]
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x28],0x20
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x2c],0x0
CMP EDX,ECX
JZ 0x0009dbb0
MOV dword ptr [EDX],EAX
MOV EBX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EBX
MOV EBX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EBX
MOV EBX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EBX
MOV dword ptr [ESI + 0x30],EDX
MOV dword ptr [EBP + -0x28],0x21
MOV dword ptr [EBP + -0x24],0xfffffffe
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x2c],0x0
CMP EDX,ECX
JZ 0x0009d8b0
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
ADD EDI,0x4
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [ESI + 0x30],EDX
CMP dword ptr [EAX + 0x134],EDI
JNZ 0x0009d3cb
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x68],EAX
TEST EAX,EAX
JZ 0x0009db81
MOV EAX,dword ptr [EBP + -0x68]
MOV EDI,dword ptr [EAX + 0x33d4]
CMP EDI,dword ptr [EAX + 0x33d8]
JZ 0x0009d5ce
LEA EAX,[EBP + -0x28]
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x78],EAX
MOV dword ptr [EBP + -0x30],EAX
LEA EAX,[EBP + -0x30]
MOV byte ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x64],0x0
MOV dword ptr [EBP + -0x74],EAX
JMP 0x0009d4de
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x60]
PUSH EDI
PUSH dword ptr [EBP + -0x74]
CALL 0x001ee9c0
MOV EAX,dword ptr [EBP + -0x68]
ADD ESP,0x10
ADD EDI,0x1c
CMP dword ptr [EAX + 0x33d8],EDI
JZ 0x0009d54c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBP + -0x64],EAX
MOV EBX,dword ptr [EBP + -0x64]
TEST EBX,EBX
JZ 0x0009d4b8
MOV EAX,dword ptr [EBP + -0x68]
MOV EDX,dword ptr [EAX + 0x33d4]
CMP EDX,EDI
JZ 0x0009d863
MOV dword ptr [EBP + -0x70],ESI
MOV ECX,dword ptr [EDI + 0x4]
MOV ESI,EDX
JMP 0x0009d50b
ADD ESI,0x1c
CMP EDI,ESI
JZ 0x0009d860
CMP dword ptr [ESI + 0x4],ECX
JNZ 0x0009d500
TEST ECX,ECX
JZ 0x0009d531
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x6c],ECX
PUSH ECX
PUSH dword ptr [EDI]
PUSH dword ptr [ESI]
CALL 0x00029130
ADD ESP,0x10
MOV ECX,dword ptr [EBP + -0x6c]
TEST EAX,EAX
JNZ 0x0009d500
MOV EDX,ESI
MOV ESI,dword ptr [EBP + -0x70]
CMP EDI,EDX
JZ 0x0009d863
MOV EAX,dword ptr [EBP + -0x68]
ADD EDI,0x1c
CMP dword ptr [EAX + 0x33d8],EDI
JNZ 0x0009d4d8
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009deee
CMP byte ptr [EAX + 0x117d],0x0
MOV ECX,dword ptr [EBP + -0x30]
MOV EDX,dword ptr [ESI + 0x38]
JZ 0x0009d938
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH ECX
PUSH EDX
CALL 0x00174930
ADD ESP,0x10
MOV dword ptr [EBP + -0x38],0x1d
MOV EDX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x34],0xfffffffc
MOV dword ptr [EBP + -0x40],EAX
CMP EDX,dword ptr [ESI + 0x34]
JZ 0x0009de37
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x3c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x38]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x34]
MOV dword ptr [EDX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EDX
MOV EAX,dword ptr [EBP + -0x30]
CMP EAX,dword ptr [EBP + -0x78]
JZ 0x0009d5ce
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
CMP byte ptr [EAX + 0xac],0x0
MOV EAX,dword ptr [EBP + 0x8]
JZ 0x0009d8d0
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x130]
MOV ECX,dword ptr [ECX + 0x134]
CMP EAX,ECX
JZ 0x0009d620
LEA ESI,[ESI]
NOP
MOV EBX,dword ptr [EAX]
MOV EDX,dword ptr [EBX + 0x54]
TEST DL,0x2
JZ 0x0009d619
AND EDX,0x1
JNZ 0x0009d619
TEST byte ptr [EBX + 0x1c],0x10
JNZ 0x0009d929
ADD EAX,0x4
CMP ECX,EAX
JNZ 0x0009d600
MOV byte ptr [EBP + -0x64],0x0
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
MOV EDX,dword ptr [EAX + 0x1478]
TEST EDX,EDX
JZ 0x0009d698
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH EDX
PUSH dword ptr [ESI + 0x38]
CALL 0x00174930
MOV dword ptr [EBP + -0x28],0x7fffffff
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],0xfffffffc
MOV dword ptr [EBP + -0x30],EAX
CMP EDX,dword ptr [ESI + 0x34]
JZ 0x0009de05
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EDX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
MOV EDX,dword ptr [EAX + 0x1428]
TEST EDX,EDX
JZ 0x0009d988
MOV EDI,dword ptr [EAX + 0x1424]
TEST EDI,EDI
JZ 0x0009d988
LEA EAX,[ESI + 0x2c]
MOV dword ptr [EBP + -0x68],EAX
LEA EAX,[EBP + -0x30]
MOV dword ptr [EBP + -0x6c],EAX
JMP 0x0009d6fc
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [EBP + -0x2c]
ADD EBX,0x10
MOV dword ptr [EBX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x28]
MOV dword ptr [EBX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EBX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EBX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EDI,dword ptr [EDI]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
TEST EDI,EDI
JZ 0x0009d988
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH dword ptr [EDI + 0x4]
PUSH dword ptr [ESI + 0x38]
CALL 0x00174930
MOV dword ptr [EBP + -0x28],0x7ffffffd
MOV EBX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],0xfffffffc
MOV dword ptr [EBP + -0x30],EAX
CMP EBX,dword ptr [ESI + 0x34]
JNZ 0x0009d6c8
SUB ESP,0x4
PUSH dword ptr [EBP + -0x6c]
PUSH EBX
PUSH dword ptr [EBP + -0x68]
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d6e2
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x184]
TEST ESI,ESI
JZ 0x0009d1aa
SUB ESP,0x4
PUSH 0x6
PUSH 0x2
PUSH EAX
CALL 0x0009b0e0
MOV ECX,dword ptr [EBP + 0x8]
ADD ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x6
PUSH dword ptr [ECX + 0x184]
PUSH EAX
CALL 0x000f3190
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x18c]
TEST ESI,ESI
JNZ 0x0009d1bb
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [ESI + 0x30]
MOV ECX,dword ptr [ESI + 0x34]
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x28],0x1a
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x2c],0x0
CMP EDX,ECX
JZ 0x0009dbd0
MOV dword ptr [EDX],EAX
MOV EBX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EBX
MOV EBX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EBX
MOV EBX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EBX
MOV dword ptr [ESI + 0x30],EDX
MOV dword ptr [EBP + -0x28],0x1c
MOV dword ptr [EBP + -0x24],0xfffffffe
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x2c],0x0
CMP ECX,EDX
JNZ 0x0009d43e
SUB ESP,0x4
PUSH dword ptr [EBP + -0x68]
PUSH ECX
PUSH dword ptr [EBP + -0x64]
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d3b9
MOV EDX,dword ptr [ESI + 0x30]
MOV ECX,dword ptr [ESI + 0x34]
MOV dword ptr [EBP + -0x30],EAX
MOV dword ptr [EBP + -0x28],0x19
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x2c],0x0
CMP EDX,ECX
JZ 0x0009dbf0
MOV dword ptr [EDX],EAX
MOV EBX,dword ptr [EBP + -0x2c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EBX
MOV EBX,dword ptr [EBP + -0x28]
MOV dword ptr [EDX + -0x8],EBX
MOV EBX,dword ptr [EBP + -0x24]
MOV dword ptr [EDX + -0x4],EBX
MOV dword ptr [ESI + 0x30],EDX
MOV dword ptr [EBP + -0x28],0x1b
JMP 0x0009d425
MOV ESI,dword ptr [EBP + -0x70]
MOV EAX,dword ptr [EBP + -0x64]
MOV EDX,0xf
LEA ECX,[EAX + 0x1]
MOV EAX,dword ptr [EBP + -0x30]
CMP EAX,dword ptr [EBP + -0x78]
CMOVNZ EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EBP + -0x6c],ECX
CMP ECX,EDX
JA 0x0009dda3
MOV ECX,dword ptr [EBP + -0x64]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x60]
MOV byte ptr [EAX + ECX*0x1],0x3a
MOV ECX,dword ptr [EBP + -0x6c]
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [EBP + -0x2c],ECX
MOV byte ptr [EAX + ECX*0x1],0x0
PUSH dword ptr [EDI + 0x4]
PUSH dword ptr [EDI]
PUSH dword ptr [EBP + -0x74]
CALL 0x001f05c0
JMP 0x0009d4c7
SUB ESP,0x4
PUSH dword ptr [EBP + -0x68]
PUSH EDX
PUSH dword ptr [EBP + -0x64]
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d3b9
MOV EDI,dword ptr [EAX + 0x124]
CMP EDI,dword ptr [EAX + 0x128]
JZ 0x0009d620
MOV dword ptr [EBP + -0x64],ESI
MOV ESI,dword ptr [EBP + 0x8]
JMP 0x0009d8ff
ADD EDI,0x4
CMP dword ptr [ESI + 0x128],EDI
JZ 0x0009dba0
MOV EAX,dword ptr [EDI]
CMP dword ptr [EAX + 0x194],0x1
JNZ 0x0009d8f0
TEST byte ptr [EAX + 0x198],0x2
JNZ 0x0009d8f0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
CALL 0x000eff40
ADD ESP,0x10
TEST AL,AL
JZ 0x0009d8f0
MOV ESI,dword ptr [EBP + -0x64]
MOV byte ptr [EBP + -0x64],0x1
JMP 0x0009d624
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH ECX
PUSH EDX
CALL 0x00174930
ADD ESP,0x10
MOV dword ptr [EBP + -0x48],0xf
MOV EDX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x44],0xfffffffc
MOV dword ptr [EBP + -0x50],EAX
CMP EDX,dword ptr [ESI + 0x34]
JZ 0x0009de50
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x4c]
ADD EDX,0x10
MOV dword ptr [EDX + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x48]
MOV dword ptr [EDX + -0x8],EAX
MOV EAX,dword ptr [EBP + -0x44]
MOV dword ptr [EDX + -0x4],EAX
MOV dword ptr [ESI + 0x30],EDX
JMP 0x0009d5b7
CMP byte ptr [EBP + -0x64],0x0
JNZ 0x0009dc10
MOV EAX,dword ptr [EBP + -0x5c]
XOR EBX,EBX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
MOVZX EDX,byte ptr [EAX + 0x1a25]
TEST DL,DL
JZ 0x0009d9b6
MOV ECX,dword ptr [EBP + 0x8]
CMP byte ptr [ECX + 0x1c9],0x0
JZ 0x0009d9b6
OR EBX,0x10
CMP byte ptr [EAX + 0x563d],0x0
JZ 0x0009d9c2
OR EBX,0x1
CMP byte ptr [EAX + 0x825],0x0
JZ 0x0009d9d8
CMP byte ptr [EAX + 0x5a0c],0x0
JZ 0x0009dae0
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
CMP byte ptr [EAX + 0x55c1],0x0
JNZ 0x0009db37
TEST EBX,EBX
JNZ 0x0009db3a
XOR EDX,EDX
CMP byte ptr [EAX + 0x4fad],0x0
SETNZ DL
ADD EDX,EDX
CMP byte ptr [EAX + 0x5029],0x0
JZ 0x0009da0f
OR EDX,0x20
CMP byte ptr [EAX + 0x50a5],0x0
JZ 0x0009da1b
OR DH,0x4
CMP byte ptr [EAX + 0x5199],0x0
JZ 0x0009da27
OR EDX,0x10
CMP byte ptr [EAX + 0x5355],0x0
JZ 0x0009da33
OR DH,0x8
CMP byte ptr [EAX + 0x53d1],0x0
JZ 0x0009da3f
OR EDX,0x8
CMP byte ptr [EAX + 0x544d],0x0
JZ 0x0009da4b
OR EDX,0x40
CMP byte ptr [EAX + 0x54c9],0x0
JZ 0x0009da57
OR DH,0x10
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x0009da63
AND EDX,0xffffff97
CMP byte ptr [EAX + 0x563d],0x0
JZ 0x0009da6f
OR DL,0x80
CMP byte ptr [EAX + 0x55c1],0x0
MOVZX ECX,byte ptr [EAX + 0x72d]
JZ 0x0009dad0
OR EDX,0x1
TEST CL,CL
JZ 0x0009da89
OR EDX,0x4
MOV dword ptr [EBP + -0x28],0x6ffffffb
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xffffffff
MOV dword ptr [EBP + -0x30],EDX
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009de8a
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST CL,CL
JNZ 0x0009da86
TEST EDX,EDX
JNZ 0x0009da89
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
OR EBX,0x2
MOV dword ptr [EBP + -0x28],0x10
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xffffffff
MOV dword ptr [EBP + -0x30],0x0
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009ded5
MOV dword ptr [EAX],0x0
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
CMP byte ptr [EAX + 0x55c1],0x0
JZ 0x0009db3a
OR EBX,0x8
MOV dword ptr [EBP + -0x28],0x1e
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xffffffff
MOV dword ptr [EBP + -0x30],EBX
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009de58
MOV dword ptr [EAX],EBX
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JNZ 0x0009d9f5
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffefca48]
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x5c
PUSH EAX
CALL 0x00069d00
MOV ESI,dword ptr [EBP + -0x64]
JMP 0x0009d620
SUB ESP,0x4
PUSH dword ptr [EBP + -0x68]
PUSH ECX
PUSH dword ptr [EBP + -0x64]
CALL 0x000a5aa0
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x34]
JMP 0x0009d41e
SUB ESP,0x4
PUSH dword ptr [EBP + -0x68]
PUSH ECX
PUSH dword ptr [EBP + -0x64]
CALL 0x000a5aa0
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x34]
JMP 0x0009d7d8
SUB ESP,0x4
PUSH dword ptr [EBP + -0x68]
PUSH ECX
PUSH dword ptr [EBP + -0x64]
CALL 0x000a5aa0
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [ESI + 0x30]
ADD ESP,0x10
MOV ECX,dword ptr [ESI + 0x34]
JMP 0x0009d850
MOV dword ptr [EBP + -0x28],0x16
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xffffffff
MOV dword ptr [EBP + -0x30],0x0
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009de71
MOV dword ptr [EAX],0x0
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
CMP byte ptr [EAX + 0x577d],0x0
JNZ 0x0009ddc5
CMP byte ptr [EAX + 0x4749],0x0
MOVZX EDX,byte ptr [EAX + 0x1a25]
MOV EBX,0x4
JZ 0x0009d9a3
TEST DL,DL
JZ 0x0009d9b6
MOV EDI,dword ptr [EBP + -0x60]
SUB ESP,0xc
LEA EAX,[EDI + 0xffefbe48]
MOV EBX,EDI
PUSH EAX
CALL 0x000293b0
MOV dword ptr [ESP],EAX
CALL 0x000654e0
ADD ESP,0x10
JMP 0x0009dde4
CMP AL,0x4
JZ 0x0009d388
MOV dword ptr [EBP + -0x28],0xd
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xfffffffd
MOV dword ptr [EBP + -0x30],EDI
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009debc
MOV dword ptr [EAX],EDI
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
JMP 0x0009d388
CMP AL,0x4
JZ 0x0009d330
MOV dword ptr [EBP + -0x28],0xc
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x24],0xfffffffd
MOV dword ptr [EBP + -0x30],EDI
CMP EAX,dword ptr [ESI + 0x34]
JZ 0x0009dea3
MOV dword ptr [EAX],EDI
MOV EDX,dword ptr [EBP + -0x2c]
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ESI + 0x30],EAX
JMP 0x0009d330
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
CALL 0x00177470
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009d330
TEST byte ptr [EDI + 0x2a],0x7
JNZ 0x0009dd08
MOV EAX,dword ptr [EDI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x0009d330
JMP 0x0009dd08
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
CALL 0x00177470
ADD ESP,0x10
TEST AL,AL
JNZ 0x0009d388
TEST byte ptr [EDI + 0x2a],0x7
JNZ 0x0009dcc0
MOV EAX,dword ptr [EDI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x0009d388
JMP 0x0009dcc0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x64]
PUSH dword ptr [EBP + -0x74]
CALL 0x001eeaa0
ADD ESP,0x20
MOV EAX,dword ptr [EBP + -0x30]
JMP 0x0009d883
MOV EDI,dword ptr [EBP + -0x60]
SUB ESP,0xc
LEA EAX,[EDI + 0xffefbe1c]
MOV EBX,EDI
PUSH EAX
CALL 0x000293b0
MOV dword ptr [ESP],EAX
CALL 0x000654b0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x5c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0009db81
MOVZX EDX,byte ptr [EAX + 0x1a25]
MOV EBX,0x4
JMP 0x0009d9a3
SUB ESP,0x4
LEA EAX,[EBP + -0x30]
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EDX
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d688
SUB ESP,0x4
LEA ECX,[EBP + -0x30]
LEA EAX,[ESI + 0x2c]
PUSH ECX
PUSH EDX
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d2de
SUB ESP,0x4
LEA EAX,[EBP + -0x40]
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EDX
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d5b7
SUB ESP,0x4
LEA EAX,[EBP + -0x50]
JMP 0x0009de3d
SUB ESP,0x4
LEA EDX,[EBP + -0x30]
PUSH EDX
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009db71
SUB ESP,0x4
LEA EDX,[EBP + -0x30]
PUSH EDX
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009dc4f
SUB ESP,0x4
LEA EDX,[EBP + -0x30]
ADD ESI,0x2c
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d789
SUB ESP,0x4
LEA ECX,[EBP + -0x30]
PUSH ECX
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d330
SUB ESP,0x4
LEA ECX,[EBP + -0x30]
PUSH ECX
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009d388
SUB ESP,0x4
LEA EDX,[EBP + -0x30]
PUSH EDX
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EAX
CALL 0x000a5aa0
ADD ESP,0x10
JMP 0x0009db22
MOV EBX,dword ptr [EBP + -0x60]
PUSH ECX
LEA EAX,[EBX + 0xffefca48]
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x5c
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_0009d170(int param_1,int param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}\n\n" comment (function_definition "void FUN_0009d170(int param_1,int param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" primitive_type (function_declarator "FUN_0009d170(int param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "size_t extraout_ECX;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "size_t extraout_ECX_00;" primitive_type identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "uint *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (if_statement "if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" if (parenthesized_expression "(((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0))" ( (binary_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)" (parenthesized_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0))" ( (binary_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" ( (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc)" * (cast_expression "(int *)(*(int *)(param_1 + 4) + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xbc)" ( (binary_expression "*(int *)(param_1 + 4) + 0xbc" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(int *)(param_1 + 0x184) != 0)" ( (binary_expression "*(int *)(param_1 + 0x184) != 0" (pointer_expression "*(int *)(param_1 + 0x184)" * (cast_expression "(int *)(param_1 + 0x184)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x184)" ( (binary_expression "param_1 + 0x184" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" { (expression_statement "uVar12 = FUN_0009b0e0(param_1,2,6);" (assignment_expression "uVar12 = FUN_0009b0e0(param_1,2,6)" identifier = (call_expression "FUN_0009b0e0(param_1,2,6)" identifier (argument_list "(param_1,2,6)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);" (call_expression "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6)" identifier (argument_list "(uVar12,*(undefined4 *)(param_1 + 0x184),6)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x184)" * (cast_expression "(undefined4 *)(param_1 + 0x184)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x184)" ( (binary_expression "param_1 + 0x184" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" identifier = (pointer_expression "*(int *)(param_1 + 0x18c)" * (cast_expression "(int *)(param_1 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18c)" ( (binary_expression "param_1 + 0x18c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" else (compound_statement "{\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" { (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" identifier = (pointer_expression "*(int *)(param_1 + 0x18c)" * (cast_expression "(int *)(param_1 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18c)" ( (binary_expression "param_1 + 0x18c" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar3 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_60 = *(int **)(param_2 + 0xc);" (assignment_expression "local_60 = *(int **)(param_2 + 0xc)" identifier = (pointer_expression "*(int **)(param_2 + 0xc)" * (cast_expression "(int **)(param_2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" if (parenthesized_expression "(local_60 != *(int **)(param_2 + 0x10))" ( (binary_expression "local_60 != *(int **)(param_2 + 0x10)" identifier != (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" { (do_statement "do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);" do (compound_statement "{\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    }" { (while_statement "while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" { (expression_statement "bVar2 = *(byte *)(*local_60 + 0x2c);" (assignment_expression "bVar2 = *(byte *)(*local_60 + 0x2c)" identifier = (pointer_expression "*(byte *)(*local_60 + 0x2c)" * (cast_expression "(byte *)(*local_60 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_60 + 0x2c)" ( (binary_expression "*local_60 + 0x2c" (pointer_expression "*local_60" * identifier) + number_literal) ))))) ;) (if_statement "if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;" if (parenthesized_expression "(((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0))" ( (binary_expression "((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)" (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar2 & 0x40) == 0)" ( (binary_expression "(bVar2 & 0x40) == 0" (parenthesized_expression "(bVar2 & 0x40)" ( (binary_expression "bVar2 & 0x40" identifier & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0009d1fa:\n        local_60 = local_60 + 1;" statement_identifier : (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;)) (if_statement "if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;" if (parenthesized_expression "(*(int **)(param_2 + 0x10) == local_60)" ( (binary_expression "*(int **)(param_2 + 0x10) == local_60" (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0009d268;" goto statement_identifier ;)) })) (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*local_60 + 0x38)" * (cast_expression "(undefined4 *)(*local_60 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_60 + 0x38)" ( (binary_expression "*local_60 + 0x38" (pointer_expression "*local_60" * identifier) + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" if (parenthesized_expression "(puVar8 != *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 != *(uint **)(iVar3 + 0x34)" identifier != (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 1;" (assignment_expression "puVar8[2] = 1" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_0009d1fa;" goto statement_identifier ;) })) (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_2 + 0x10) != local_60)" ( (binary_expression "*(int **)(param_2 + 0x10) != local_60" (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) != identifier) )) ;) })) (labeled_statement "LAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" if (parenthesized_expression "((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0))" ( (binary_expression "(*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)" (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(iVar11 + 0x1aa4) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1aa4) != 0" (pointer_expression "*(int *)(iVar11 + 0x1aa4)" * (cast_expression "(int *)(iVar11 + 0x1aa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1aa4)" ( (binary_expression "iVar11 + 0x1aa4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(int *)(iVar11 + 0x1aa4)" * (cast_expression "(int *)(iVar11 + 0x1aa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1aa4)" ( (binary_expression "iVar11 + 0x1aa4" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0xe;" (assignment_expression "local_2c = 0xe" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" else (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0xe;" (assignment_expression "puVar8[2] = 0xe" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" identifier = (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" identifier (argument_list "(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x1f20)" * (cast_expression "(undefined4 *)(iVar11 + 0x1f20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1f20)" ( (binary_expression "iVar11 + 0x1f20" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" * (cast_expression "(byte *)((int)puVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2b)" ( (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }" { (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" identifier = (call_expression "FUN_00177470(puVar8[3])" identifier (argument_list "(puVar8[3])" ( (subscript_expression "puVar8[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd61;" goto statement_identifier ;) })) }) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" else (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "(puVar8[3] != 0)" ( (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" { (labeled_statement "LAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" statement_identifier : (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" if (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" * (cast_expression "(byte *)(puVar8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[2] + 0x2c)" ( (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;))) })))) }) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" else (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" { (labeled_statement "LAB_0009dd08:\n      local_2c = 0xc;" statement_identifier : (expression_statement "local_2c = 0xc;" (assignment_expression "local_2c = 0xc" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" else (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0xc;" (assignment_expression "puVar10[2] = 0xc" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) })))) })) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" identifier = (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" identifier (argument_list "(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" * (cast_expression "(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x1538)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x1538" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) , number_literal ))))) ;) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" * (cast_expression "(byte *)((int)puVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2b)" ( (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }" { (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" identifier = (call_expression "FUN_00177470(puVar8[3])" identifier (argument_list "(puVar8[3])" ( (subscript_expression "puVar8[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd91;" goto statement_identifier ;) })) }) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" else (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "(puVar8[3] != 0)" ( (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" { (labeled_statement "LAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" statement_identifier : (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" if (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" * (cast_expression "(byte *)(puVar8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[2] + 0x2c)" ( (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;))) })))) }) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" else (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" { (labeled_statement "LAB_0009dcc0:\n      local_2c = 0xd;" statement_identifier : (expression_statement "local_2c = 0xd;" (assignment_expression "local_2c = 0xd" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" else (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0xd;" (assignment_expression "puVar10[2] = 0xd" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) })))) })) (expression_statement "puVar8 = *(uint **)(param_1 + 0x130);" (assignment_expression "puVar8 = *(uint **)(param_1 + 0x130)" identifier = (pointer_expression "*(uint **)(param_1 + 0x130)" * (cast_expression "(uint **)(param_1 + 0x130)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar3 + 0x2c;" (assignment_expression "iVar11 = iVar3 + 0x2c" identifier = (binary_expression "iVar3 + 0x2c" identifier + number_literal)) ;) (if_statement "if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" if (parenthesized_expression "(puVar8 != *(uint **)(param_1 + 0x134))" ( (binary_expression "puVar8 != *(uint **)(param_1 + 0x134)" identifier != (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" { (do_statement "do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);" do (compound_statement "{\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    }" { (while_statement "while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" { (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "uVar4 = puVar10[0x14];" (assignment_expression "uVar4 = puVar10[0x14]" identifier = (subscript_expression "puVar10[0x14]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0xf) break;" if (parenthesized_expression "(uVar4 != 0xf)" ( (binary_expression "uVar4 != 0xf" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x1a;" (assignment_expression "local_2c = 0x1a" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x1a;" (assignment_expression "puVar5[2] = 0x1a" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x1c;" (assignment_expression "local_2c = 0x1c" identifier = number_literal) ;) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" if (parenthesized_expression "(puVar14 == puVar15)" ( (binary_expression "puVar14 == puVar15" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d43e:\n        local_28 = 0xfffffffe;" statement_identifier : (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "*puVar15 = (uint)puVar10;" (assignment_expression "*puVar15 = (uint)puVar10" (pointer_expression "*puVar15" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15[2] = local_2c;" (assignment_expression "puVar15[2] = local_2c" (subscript_expression "puVar15[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15[3] = 0xfffffffe;" (assignment_expression "puVar15[3] = 0xfffffffe" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 4" identifier + number_literal)) ;) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (if_statement "if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;" if (parenthesized_expression "(*(uint **)(param_1 + 0x134) == puVar8)" ( (binary_expression "*(uint **)(param_1 + 0x134) == puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0009d46a;" goto statement_identifier ;)) })) (if_statement "if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" if (parenthesized_expression "(uVar4 == 0x10)" ( (binary_expression "uVar4 == 0x10" identifier == number_literal) )) (compound_statement "{\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }" { (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x20;" (assignment_expression "puVar5[2] = 0x20" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x21;" (assignment_expression "local_2c = 0x21" identifier = number_literal) ;) }) (else_clause "else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" else (compound_statement "{\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" { (if_statement "if (uVar4 != 0xe) goto LAB_0009d3b9;" if (parenthesized_expression "(uVar4 != 0xe)" ( (binary_expression "uVar4 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;)) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x19;" (assignment_expression "local_2c = 0x19" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x19;" (assignment_expression "puVar5[2] = 0x19" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x1b;" (assignment_expression "local_2c = 0x1b" identifier = number_literal) ;) }))) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar15 != puVar14) goto LAB_0009d43e;" if (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) (goto_statement "goto LAB_0009d43e;" goto statement_identifier ;)) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar15,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar15,&local_34)" identifier (argument_list "(iVar11,puVar15,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (labeled_statement "LAB_0009d3b9:\n      puVar8 = puVar8 + 1;" statement_identifier : (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(*(uint **)(param_1 + 0x134) != puVar8)" ( (binary_expression "*(uint **)(param_1 + 0x134) != puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) != identifier) )) ;) })) (labeled_statement "LAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "puVar17 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar17 = *(undefined4 **)(iVar11 + 0x33d4)" identifier = (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d4)" ( (binary_expression "iVar11 + 0x33d4" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" if (parenthesized_expression "(puVar17 != *(undefined4 **)(iVar11 + 0x33d8))" ( (binary_expression "puVar17 != *(undefined4 **)(iVar11 + 0x33d8)" identifier != (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) ))))) )) (compound_statement "{\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = local_2c & 0xffffff00;" (assignment_expression "local_2c = local_2c & 0xffffff00" identifier = (binary_expression "local_2c & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_34 = &local_2c;" (assignment_expression "local_34 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (do_statement "do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );" do (compound_statement "{\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    }" { (expression_statement "uVar4 = local_30;" (assignment_expression "uVar4 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }" { comment (expression_statement "FUN_001ee9c0(&local_34,puVar17);" (call_expression "FUN_001ee9c0(&local_34,puVar17)" identifier (argument_list "(&local_34,puVar17)" ( (pointer_expression "&local_34" & identifier) , identifier ))) ;) (expression_statement "__n = extraout_ECX;" (assignment_expression "__n = extraout_ECX" identifier = identifier) ;) }) (else_clause "else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" else (compound_statement "{\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" { (expression_statement "puVar13 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar13 = *(undefined4 **)(iVar11 + 0x33d4)" identifier = (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d4)" ( (binary_expression "iVar11 + 0x33d4" identifier + number_literal) ))))) ;) (if_statement "if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" if (parenthesized_expression "(puVar13 != puVar17)" ( (binary_expression "puVar13 != puVar17" identifier != identifier) )) (compound_statement "{\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" { (expression_statement "__n = puVar17[1];" (assignment_expression "__n = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (do_statement "do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);" do (compound_statement "{\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          }" { (if_statement "if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" if (parenthesized_expression "((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))" ( (binary_expression "(puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" (parenthesized_expression "(puVar13[1] == __n)" ( (binary_expression "puVar13[1] == __n" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" ( (parenthesized_expression "(__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))" ( (binary_expression "__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" (binary_expression "__n == 0" identifier == number_literal) || (parenthesized_expression "(iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" ( (comma_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0" (assignment_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n)" identifier = (call_expression "memcmp((void *)*puVar13,(void *)*puVar17,__n)" identifier (argument_list "((void *)*puVar13,(void *)*puVar17,__n)" ( (cast_expression "(void *)*puVar13" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier)) , (cast_expression "(void *)*puVar17" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier)) , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" { (if_statement "if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" if (parenthesized_expression "(puVar17 != puVar13)" ( (binary_expression "puVar17 != puVar13" identifier != identifier) )) (compound_statement "{\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" { (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" if (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" ( (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) )))) == (binary_expression "puVar17 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d4d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "puVar13 = puVar13 + 7;" (assignment_expression "puVar13 = puVar13 + 7" identifier = (binary_expression "puVar13 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar17 != puVar13)" ( (binary_expression "puVar17 != puVar13" identifier != identifier) )) ;) })) (expression_statement "uVar1 = uVar4 + 1;" (assignment_expression "uVar1 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = 0xf;" (assignment_expression "uVar16 = 0xf" identifier = number_literal) ;) (if_statement "if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }" if (parenthesized_expression "(local_34 != &local_2c)" ( (binary_expression "local_34 != &local_2c" identifier != (pointer_expression "&local_2c" & identifier)) )) (compound_statement "{\n          uVar16 = local_2c;\n        }" { (expression_statement "uVar16 = local_2c;" (assignment_expression "uVar16 = local_2c" identifier = identifier) ;) })) (if_statement "if (uVar16 < uVar1) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" if (parenthesized_expression "(uVar16 < uVar1)" ( (binary_expression "uVar16 < uVar1" identifier < identifier) )) (compound_statement "{\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" { comment (expression_statement "FUN_001eeaa0(&local_34,uVar4,0,0,1);" (call_expression "FUN_001eeaa0(&local_34,uVar4,0,0,1)" identifier (argument_list "(&local_34,uVar4,0,0,1)" ( (pointer_expression "&local_34" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_34 + uVar4) = 0x3a;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar4) = 0x3a" (pointer_expression "*(undefined1 *)((int)local_34 + uVar4)" * (cast_expression "(undefined1 *)((int)local_34 + uVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + uVar4)" ( (binary_expression "(int)local_34 + uVar4" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_34 + uVar1) = 0;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar1) = 0" (pointer_expression "*(undefined1 *)((int)local_34 + uVar1)" * (cast_expression "(undefined1 *)((int)local_34 + uVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + uVar1)" ( (binary_expression "(int)local_34 + uVar1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_30 = uVar1;" (assignment_expression "local_30 = uVar1" identifier = identifier) ;) comment (expression_statement "FUN_001f05c0(&local_34,*puVar17,puVar17[1]);" (call_expression "FUN_001f05c0(&local_34,*puVar17,puVar17[1])" identifier (argument_list "(&local_34,*puVar17,puVar17[1])" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "*puVar17" * identifier) , (subscript_expression "puVar17[1]" identifier [ number_literal ]) ))) ;) (expression_statement "__n = extraout_ECX_00;" (assignment_expression "__n = extraout_ECX_00" identifier = identifier) ;) }))) (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" if (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" ( (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) )))) == (binary_expression "puVar17 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (labeled_statement "LAB_0009d4d8:\n      puVar17 = puVar17 + 7;" statement_identifier : (expression_statement "puVar17 = puVar17 + 7;" (assignment_expression "puVar17 = puVar17 + 7" identifier = (binary_expression "puVar17 + 7" identifier + number_literal)) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" statement_identifier : (if_statement "if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" ( (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }" { (expression_statement "piVar18 = *(int **)(param_1 + 0x124);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x124)" identifier = (pointer_expression "*(int **)(param_1 + 0x124)" * (cast_expression "(int **)(param_1 + 0x124)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" if (parenthesized_expression "(piVar18 != *(int **)(param_1 + 0x128))" ( (binary_expression "piVar18 != *(int **)(param_1 + 0x128)" identifier != (pointer_expression "*(int **)(param_1 + 0x128)" * (cast_expression "(int **)(param_1 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) ))))) )) (compound_statement "{\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" { (do_statement "do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);" do (compound_statement "{\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      }" { (expression_statement "iVar11 = *piVar18;" (assignment_expression "iVar11 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;" if (parenthesized_expression "(((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'))" ( (binary_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" (parenthesized_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0))" ( (binary_expression "(*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x194) == 1)" ( (binary_expression "*(int *)(iVar11 + 0x194) == 1" (pointer_expression "*(int *)(iVar11 + 0x194)" * (cast_expression "(int *)(iVar11 + 0x194)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x194)" ( (binary_expression "iVar11 + 0x194" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)(iVar11 + 0x198) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x198) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x198) & 2)" ( (binary_expression "*(byte *)(iVar11 + 0x198) & 2" (pointer_expression "*(byte *)(iVar11 + 0x198)" * (cast_expression "(byte *)(iVar11 + 0x198)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x198)" ( (binary_expression "iVar11 + 0x198" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" ( (comma_expression "cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'" (assignment_expression "cVar7 = FUN_000eff40(iVar11)" identifier = (call_expression "FUN_000eff40(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) , (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x128) != piVar18)" ( (binary_expression "*(int **)(param_1 + 0x128) != piVar18" (pointer_expression "*(int **)(param_1 + 0x128)" * (cast_expression "(int **)(param_1 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) )))) != identifier) )) ;) })) }) (else_clause "else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" else (compound_statement "{\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" { (for_statement "for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" for ( (assignment_expression "piVar18 = *(int **)(param_1 + 0x130)" identifier = (pointer_expression "*(int **)(param_1 + 0x130)" * (cast_expression "(int **)(param_1 + 0x130)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) ; (binary_expression "piVar18 != *(int **)(param_1 + 0x134)" identifier != (pointer_expression "*(int **)(param_1 + 0x134)" * (cast_expression "(int **)(param_1 + 0x134)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) ))))) ; (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ) (compound_statement "{\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" { (expression_statement "uVar4 = *(uint *)(*piVar18 + 0x54);" (assignment_expression "uVar4 = *(uint *)(*piVar18 + 0x54)" identifier = (pointer_expression "*(uint *)(*piVar18 + 0x54)" * (cast_expression "(uint *)(*piVar18 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 0x54)" ( (binary_expression "*piVar18 + 0x54" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) ;) (if_statement "if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;" if (parenthesized_expression "((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))" ( (binary_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" (parenthesized_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0))" ( (binary_expression "((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)" (parenthesized_expression "((uVar4 & 2) != 0)" ( (binary_expression "(uVar4 & 2) != 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uVar4 & 1) == 0)" ( (binary_expression "(uVar4 & 1) == 0" (parenthesized_expression "(uVar4 & 1)" ( (binary_expression "uVar4 & 1" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" ( (binary_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10) != 0" (parenthesized_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10)" ( (binary_expression "*(byte *)(*piVar18 + 0x1c) & 0x10" (pointer_expression "*(byte *)(*piVar18 + 0x1c)" * (cast_expression "(byte *)(*piVar18 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 0x1c)" ( (binary_expression "*piVar18 + 0x1c" (pointer_expression "*piVar18" * identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) })) })))) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (labeled_statement "LAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1478) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1478) != 0" (pointer_expression "*(int *)(iVar11 + 0x1478)" * (cast_expression "(int *)(iVar11 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1478)" ( (binary_expression "iVar11 + 0x1478" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(int *)(iVar11 + 0x1478)" * (cast_expression "(int *)(iVar11 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1478)" ( (binary_expression "iVar11 + 0x1478" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" else (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x7fffffff;" (assignment_expression "puVar8[2] = 0x7fffffff" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (if_statement "if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" if (parenthesized_expression "((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0))" ( (binary_expression "(*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" (parenthesized_expression "(*(int *)(iVar11 + 0x1428) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1428) != 0" (pointer_expression "*(int *)(iVar11 + 0x1428)" * (cast_expression "(int *)(iVar11 + 0x1428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1428)" ( (binary_expression "iVar11 + 0x1428" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" ( (comma_expression "piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0" (assignment_expression "piVar18 = *(int **)(iVar11 + 0x1424)" identifier = (pointer_expression "*(int **)(iVar11 + 0x1424)" * (cast_expression "(int **)(iVar11 + 0x1424)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1424)" ( (binary_expression "iVar11 + 0x1424" identifier + number_literal) ))))) , (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" { (do_statement "do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);" do (compound_statement "{\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (subscript_expression "piVar18[1]" identifier [ number_literal ]) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0x7ffffffd;" (assignment_expression "local_2c = 0x7ffffffd" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" else (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x7ffffffd;" (assignment_expression "puVar8[2] = 0x7ffffffd" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "piVar18 = (int *)*piVar18;" (assignment_expression "piVar18 = (int *)*piVar18" identifier = (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) }) while (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }" { (expression_statement "local_2c = 0x16;" (assignment_expression "local_2c = 0x16" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x16;" (assignment_expression "puVar17[2] = 0x16" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x577d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x577d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x577d)" * (cast_expression "(char *)(iVar11 + 0x577d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x577d)" ( (binary_expression "iVar11 + 0x577d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" { (expression_statement "uVar12 = gettext("read-only segment has dynamic relocations");" (assignment_expression "uVar12 = gettext("read-only segment has dynamic relocations")" identifier = (call_expression "gettext("read-only segment has dynamic relocations")" identifier (argument_list "("read-only segment has dynamic relocations")" ( (string_literal ""read-only segment has dynamic relocations"" " string_content ") )))) ;) (expression_statement "FUN_000654b0(uVar12);" (call_expression "FUN_000654b0(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (labeled_statement "LAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;) })) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;" if (parenthesized_expression "(*(char *)(iVar11 + 0x4749) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x4749) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x4749)" * (cast_expression "(char *)(iVar11 + 0x4749)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x4749)" ( (binary_expression "iVar11 + 0x4749" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;)) (if_statement "if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" { (expression_statement "uVar12 = gettext("shared library text segment is not shareable");" (assignment_expression "uVar12 = gettext("shared library text segment is not shareable")" identifier = (call_expression "gettext("shared library text segment is not shareable")" identifier (argument_list "("shared library text segment is not shareable")" ( (string_literal ""shared library text segment is not shareable"" " string_content ") )))) ;) (expression_statement "FUN_000654e0(uVar12);" (call_expression "FUN_000654e0(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (goto_statement "goto LAB_0009dde4;" goto statement_identifier ;) })) }) (else_clause "else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" else (compound_statement "{\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" { (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" statement_identifier : (if_statement "if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" if (parenthesized_expression "((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0'))" ( (binary_expression "(cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')" (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1c9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1c9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1c9)" * (cast_expression "(char *)(param_1 + 0x1c9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c9)" ( (binary_expression "param_1 + 0x1c9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 0x10);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 0x10)" identifier = (cast_expression "(uint *)((uint)puVar8 | 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 0x10)" ( (binary_expression "(uint)puVar8 | 0x10" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) }))) }))) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" * (cast_expression "(char *)(iVar11 + 0x563d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x563d)" ( (binary_expression "iVar11 + 0x563d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 1);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 1)" identifier = (cast_expression "(uint *)((uint)puVar8 | 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 1)" ( (binary_expression "(uint)puVar8 | 1" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0'))" ( (binary_expression "(*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')" (parenthesized_expression "(*(char *)(iVar11 + 0x825) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x825)" * (cast_expression "(char *)(iVar11 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x825)" ( (binary_expression "iVar11 + 0x825" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar11 + 0x5a0c) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5a0c) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5a0c)" * (cast_expression "(char *)(iVar11 + 0x5a0c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5a0c)" ( (binary_expression "iVar11 + 0x5a0c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }" { (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x55c1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" * (cast_expression "(char *)(iVar11 + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x55c1)" ( (binary_expression "iVar11 + 0x55c1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" { (labeled_statement "LAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);" statement_identifier : (expression_statement "puVar8 = (uint *)((uint)puVar8 | 8);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 8)" identifier = (cast_expression "(uint *)((uint)puVar8 | 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 8)" ( (binary_expression "(uint)puVar8 | 8" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;)) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;) })) (if_statement "if (puVar8 != (uint *)0x0) goto LAB_0009db3a;" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 2);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 2)" identifier = (cast_expression "(uint *)((uint)puVar8 | 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 2)" ( (binary_expression "(uint)puVar8 | 2" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "local_2c = 0x10;" (assignment_expression "local_2c = 0x10" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x55c1)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x55c1" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009db37;" goto statement_identifier ;)) (labeled_statement "LAB_0009db3a:\n    local_2c = 0x1e;" statement_identifier : (expression_statement "local_2c = 0x1e;" (assignment_expression "local_2c = 0x1e" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" else (compound_statement "{\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0x1e;" (assignment_expression "puVar10[2] = 0x1e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xffffffff;" (assignment_expression "puVar10[3] = 0xffffffff" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../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 "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);" (assignment_expression "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" identifier = (cast_expression "(uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" ( (binary_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2" (call_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(iVar11 + 0x4fad) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x4fad) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x4fad)" * (cast_expression "(char *)(iVar11 + 0x4fad)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x4fad)" ( (binary_expression "iVar11 + 0x4fad" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) * number_literal) )))) ;) (if_statement "if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5029) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5029) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5029)" * (cast_expression "(char *)(iVar11 + 0x5029)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5029)" ( (binary_expression "iVar11 + 0x5029" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x20);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x20)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x20)" ( (binary_expression "(uint)local_34 | 0x20" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x50a5) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x50a5) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x50a5)" * (cast_expression "(char *)(iVar11 + 0x50a5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50a5)" ( (binary_expression "iVar11 + 0x50a5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x400);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x400)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x400)" ( (binary_expression "(uint)local_34 | 0x400" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5199) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5199) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5199)" * (cast_expression "(char *)(iVar11 + 0x5199)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5199)" ( (binary_expression "iVar11 + 0x5199" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x10);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x10)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x10)" ( (binary_expression "(uint)local_34 | 0x10" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5355) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5355) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5355)" * (cast_expression "(char *)(iVar11 + 0x5355)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5355)" ( (binary_expression "iVar11 + 0x5355" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x800);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x800)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x800)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x800)" ( (binary_expression "(uint)local_34 | 0x800" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x53d1) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x53d1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x53d1)" * (cast_expression "(char *)(iVar11 + 0x53d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x53d1)" ( (binary_expression "iVar11 + 0x53d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 8);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 8)" identifier = (cast_expression "(uint *)((uint)local_34 | 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 8)" ( (binary_expression "(uint)local_34 | 8" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x544d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x544d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x544d)" * (cast_expression "(char *)(iVar11 + 0x544d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x544d)" ( (binary_expression "iVar11 + 0x544d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x40);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x40)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x40)" ( (binary_expression "(uint)local_34 | 0x40" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x54c9) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x54c9) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x54c9)" * (cast_expression "(char *)(iVar11 + 0x54c9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x54c9)" ( (binary_expression "iVar11 + 0x54c9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x1000);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x1000)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x1000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x1000)" ( (binary_expression "(uint)local_34 | 0x1000" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 & 0xffffff97);" (assignment_expression "local_34 = (uint *)((uint)local_34 & 0xffffff97)" identifier = (cast_expression "(uint *)((uint)local_34 & 0xffffff97)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 & 0xffffff97)" ( (binary_expression "(uint)local_34 & 0xffffff97" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" * (cast_expression "(char *)(iVar11 + 0x563d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x563d)" ( (binary_expression "iVar11 + 0x563d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x80);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x80)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x80)" ( (binary_expression "(uint)local_34 | 0x80" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x55c1) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" * (cast_expression "(char *)(iVar11 + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x55c1)" ( (binary_expression "iVar11 + 0x55c1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }" { (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" * (cast_expression "(char *)(iVar11 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x72d)" ( (binary_expression "iVar11 + 0x72d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" { (if_statement "if (local_34 == (uint *)0x0) {\n        return;\n      }" if (parenthesized_expression "(local_34 == (uint *)0x0)" ( (binary_expression "local_34 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" else (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 1);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 1)" identifier = (cast_expression "(uint *)((uint)local_34 | 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 1)" ( (binary_expression "(uint)local_34 | 1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;" if (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" * (cast_expression "(char *)(iVar11 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x72d)" ( (binary_expression "iVar11 + 0x72d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;)) }))) (expression_statement "local_34 = (uint *)((uint)local_34 | 4);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 4)" identifier = (cast_expression "(uint *)((uint)local_34 | 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 4)" ( (binary_expression "(uint)local_34 | 4" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (labeled_statement "LAB_0009da89:\n  local_2c = 0x6ffffffb;" statement_identifier : (expression_statement "local_2c = 0x6ffffffb;" (assignment_expression "local_2c = 0x6ffffffb" identifier = number_literal) ;)) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x6ffffffb;" (assignment_expression "puVar8[2] = 0x6ffffffb" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xffffffff;" (assignment_expression "puVar8[3] = 0xffffffff" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (return_statement "return;" return ;) (labeled_statement "LAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" statement_identifier : (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" { comment comment (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",__n)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) }))) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x117d)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x117d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }" { comment (expression_statement "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier = (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "local_4c = 0xf;" (assignment_expression "local_4c = 0xf" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_48 = 0xfffffffc;" (assignment_expression "local_48 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" { (expression_statement "puVar13 = &local_54;" (assignment_expression "puVar13 = &local_54" identifier = (pointer_expression "&local_54" & identifier)) ;) (goto_statement "goto LAB_0009de3d;" goto statement_identifier ;) })) (expression_statement "*puVar17 = local_54;" (assignment_expression "*puVar17 = local_54" (pointer_expression "*puVar17" * identifier) = identifier) ;) (expression_statement "puVar17[1] = local_50;" (assignment_expression "puVar17[1] = local_50" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0xf;" (assignment_expression "puVar17[2] = 0xf" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" else (compound_statement "{\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" { (expression_statement "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier = (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "local_3c = 0x1d;" (assignment_expression "local_3c = 0x1d" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0xfffffffc;" (assignment_expression "local_38 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }" { (expression_statement "puVar13 = &local_44;" (assignment_expression "puVar13 = &local_44" identifier = (pointer_expression "&local_44" & identifier)) ;) (labeled_statement "LAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" statement_identifier : comment (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13)" identifier (argument_list "(iVar3 + 0x2c,puVar17,puVar13)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , identifier ))) ;)) }) (else_clause "else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = local_44;" (assignment_expression "*puVar17 = local_44" (pointer_expression "*puVar17" * identifier) = identifier) ;) (expression_statement "puVar17[1] = local_40;" (assignment_expression "puVar17[1] = local_40" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x1d;" (assignment_expression "puVar17[2] = 0x1d" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) }))) (if_statement "if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }" if (parenthesized_expression "(local_34 != &local_2c)" ( (binary_expression "local_34 != &local_2c" identifier != (pointer_expression "&local_2c" & identifier)) )) (compound_statement "{\n    FUN_001e6db0(local_34);\n  }" { (expression_statement "FUN_001e6db0(local_34);" (call_expression "FUN_001e6db0(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (goto_statement "goto LAB_0009d5ce;" goto statement_identifier ;) (labeled_statement "LAB_0009d929:\n  bVar6 = true;" statement_identifier : (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;)) (goto_statement "goto LAB_0009d624;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void finish_dynamic_section(Layout * this, Input_objects *\n   input_objects, Symbol_table * symtab) */\n\nvoid __thiscall\ngold::Layout::finish_dynamic_section(Layout *this,Input_objects *input_objects,Symbol_table *symtab)\n\n{\n  Dynamic_entries *this_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  uint uVar2;\n  byte bVar3;\n  Output_data_dynamic *pOVar4;\n  Elf_Word EVar5;\n  Dynamic_entry *pDVar6;\n  size_t __n;\n  Elf_Xword EVar7;\n  size_type sVar8;\n  bool bVar9;\n  Symbol *pSVar10;\n  int iVar11;\n  Output_segment *pOVar12;\n  Output_section *pOVar13;\n  General_options *pGVar14;\n  char *pcVar15;\n  anon_union_4_4_94c5dad9_for_u_ *__args_0;\n  iterator iVar16;\n  char cVar17;\n  iterator __position;\n  undefined4 uVar18;\n  pointer pcVar19;\n  pointer pSVar20;\n  pointer ppOVar21;\n  pointer pSVar22;\n  _Hash_node_base *p_Var23;\n  pointer ppOVar24;\n  pointer local_60;\n  anon_union_4_4_94c5dad9_for_u_ local_54;\n  anon_union_4_4_94c5dad9_for_u_ local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  anon_union_4_4_94c5dad9_for_u_ local_44;\n  anon_union_4_4_94c5dad9_for_u_ local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  string rpath_val;\n  \n  if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0)) {\n    pOVar12 = make_output_segment(this,2,6);\n    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);\n    pOVar4 = this->dynamic_data_;\n  }\n  else {\n    pOVar4 = this->dynamic_data_;\n  }\n  if (pOVar4 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start;\n  if (local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish) {\n    do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);\n  }\nLAB_0009d268:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  if (((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0xe;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  pSVar10 = Symbol_table::lookup(symtab,(pGVar14->init_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n  pSVar10 = Symbol_table::lookup(symtab,(parameters->options_->fini_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  this_00 = &pOVar4->entries_;\n  if (ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish) {\n    do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);\n  }\nLAB_0009d46a:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n            _M_impl._M_start;\n  if (pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.\n      _M_finish) {\n    paVar1 = &rpath_val.field_2;\n    rpath_val._M_string_length = 0;\n    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;\n    rpath_val._M_dataplus._M_p = (pointer)paVar1;\n    do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }\n  else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }\n  bVar9 = false;\nLAB_0009d624:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pcVar15 = (pGVar14->filter_).value;\n  if (pcVar15 != (char *)0x0) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  if (((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)) {\n    do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);\n  }\n  if (bVar9) {\n    rpath_val.field_2._M_allocated_capacity = 0x16;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n    if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar17 = (pGVar14->shared_).value;\n    pcVar19 = (pointer)0x4;\n    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;\n    if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }\n  if ((pGVar14->origin_).value != false) {\n    pcVar19 = (pointer)((uint)pcVar19 | 1);\n  }\n  if (((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)) {\n    pGVar14 = parameters->options_;\n    if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }\n    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;\n  }\n  else {\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2);\n  if ((pGVar14->initfirst_).value != false) {\n    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);\n  }\n  if ((pGVar14->interpose_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;\n  }\n  if ((pGVar14->loadfltr_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;\n  }\n  if ((pGVar14->nodefaultlib_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;\n  }\n  if ((pGVar14->nodelete_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;\n  }\n  if ((pGVar14->nodlopen_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;\n  }\n  if ((pGVar14->nodump_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;\n  }\n  if ((pGVar14->shared_).value == false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;\n  }\n  if ((pGVar14->origin_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;\n  }\n  bVar9 = (pGVar14->Bgroup_).value;\n  if ((pGVar14->now_).value == false) {\n    if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }\n  rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;\nLAB_0009da89:\n  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;\n  iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n       ._M_impl._M_finish;\n  rpath_val.field_2._4_4_ = 0xffffffff;\n  if (iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_end_of_storage) {\n    std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    return;\n  }\n  ((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p;\n  (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n  (iVar16._M_current)->tag_ = DT_FLAGS_1;\n  (iVar16._M_current)->offset_ = 0xffffffff;\n  (pOVar4->entries_).\n  super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;\n  return;\nLAB_0009d54c:\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((parameters->options_->enable_new_dtags_).value == false) {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_4c = 0xf;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }\n    (iVar16._M_current)->u_ = (char *)local_54;\n    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n    (pOVar4->entries_).\n    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n  }\n  else {\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1) {\n    operator_delete(rpath_val._M_dataplus._M_p);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar9 = true;\n  goto LAB_0009d624;\n}\n\n" comment comment comment (function_definition "void __thiscall\ngold::Layout::finish_dynamic_section(Layout *this,Input_objects *input_objects,Symbol_table *symtab)\n\n{\n  Dynamic_entries *this_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  uint uVar2;\n  byte bVar3;\n  Output_data_dynamic *pOVar4;\n  Elf_Word EVar5;\n  Dynamic_entry *pDVar6;\n  size_t __n;\n  Elf_Xword EVar7;\n  size_type sVar8;\n  bool bVar9;\n  Symbol *pSVar10;\n  int iVar11;\n  Output_segment *pOVar12;\n  Output_section *pOVar13;\n  General_options *pGVar14;\n  char *pcVar15;\n  anon_union_4_4_94c5dad9_for_u_ *__args_0;\n  iterator iVar16;\n  char cVar17;\n  iterator __position;\n  undefined4 uVar18;\n  pointer pcVar19;\n  pointer pSVar20;\n  pointer ppOVar21;\n  pointer pSVar22;\n  _Hash_node_base *p_Var23;\n  pointer ppOVar24;\n  pointer local_60;\n  anon_union_4_4_94c5dad9_for_u_ local_54;\n  anon_union_4_4_94c5dad9_for_u_ local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  anon_union_4_4_94c5dad9_for_u_ local_44;\n  anon_union_4_4_94c5dad9_for_u_ local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  string rpath_val;\n  \n  if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0)) {\n    pOVar12 = make_output_segment(this,2,6);\n    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);\n    pOVar4 = this->dynamic_data_;\n  }\n  else {\n    pOVar4 = this->dynamic_data_;\n  }\n  if (pOVar4 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start;\n  if (local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish) {\n    do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);\n  }\nLAB_0009d268:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  if (((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0xe;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  pSVar10 = Symbol_table::lookup(symtab,(pGVar14->init_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n  pSVar10 = Symbol_table::lookup(symtab,(parameters->options_->fini_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  this_00 = &pOVar4->entries_;\n  if (ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish) {\n    do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);\n  }\nLAB_0009d46a:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n            _M_impl._M_start;\n  if (pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.\n      _M_finish) {\n    paVar1 = &rpath_val.field_2;\n    rpath_val._M_string_length = 0;\n    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;\n    rpath_val._M_dataplus._M_p = (pointer)paVar1;\n    do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }\n  else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }\n  bVar9 = false;\nLAB_0009d624:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pcVar15 = (pGVar14->filter_).value;\n  if (pcVar15 != (char *)0x0) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  if (((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)) {\n    do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);\n  }\n  if (bVar9) {\n    rpath_val.field_2._M_allocated_capacity = 0x16;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n    if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar17 = (pGVar14->shared_).value;\n    pcVar19 = (pointer)0x4;\n    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;\n    if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }\n  if ((pGVar14->origin_).value != false) {\n    pcVar19 = (pointer)((uint)pcVar19 | 1);\n  }\n  if (((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)) {\n    pGVar14 = parameters->options_;\n    if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }\n    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;\n  }\n  else {\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2);\n  if ((pGVar14->initfirst_).value != false) {\n    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);\n  }\n  if ((pGVar14->interpose_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;\n  }\n  if ((pGVar14->loadfltr_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;\n  }\n  if ((pGVar14->nodefaultlib_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;\n  }\n  if ((pGVar14->nodelete_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;\n  }\n  if ((pGVar14->nodlopen_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;\n  }\n  if ((pGVar14->nodump_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;\n  }\n  if ((pGVar14->shared_).value == false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;\n  }\n  if ((pGVar14->origin_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;\n  }\n  bVar9 = (pGVar14->Bgroup_).value;\n  if ((pGVar14->now_).value == false) {\n    if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }\n  rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;\nLAB_0009da89:\n  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;\n  iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n       ._M_impl._M_finish;\n  rpath_val.field_2._4_4_ = 0xffffffff;\n  if (iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_end_of_storage) {\n    std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    return;\n  }\n  ((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p;\n  (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n  (iVar16._M_current)->tag_ = DT_FLAGS_1;\n  (iVar16._M_current)->offset_ = 0xffffffff;\n  (pOVar4->entries_).\n  super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;\n  return;\nLAB_0009d54c:\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((parameters->options_->enable_new_dtags_).value == false) {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_4c = 0xf;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }\n    (iVar16._M_current)->u_ = (char *)local_54;\n    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n    (pOVar4->entries_).\n    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n  }\n  else {\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1) {\n    operator_delete(rpath_val._M_dataplus._M_p);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar9 = true;\n  goto LAB_0009d624;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "finish_dynamic_section(Layout *this,Input_objects *input_objects,Symbol_table *symtab)" identifier (parameter_list "(Layout *this,Input_objects *input_objects,Symbol_table *symtab)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Input_objects *input_objects" type_identifier (pointer_declarator "*input_objects" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) ))) (compound_statement "{\n  Dynamic_entries *this_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  uint uVar2;\n  byte bVar3;\n  Output_data_dynamic *pOVar4;\n  Elf_Word EVar5;\n  Dynamic_entry *pDVar6;\n  size_t __n;\n  Elf_Xword EVar7;\n  size_type sVar8;\n  bool bVar9;\n  Symbol *pSVar10;\n  int iVar11;\n  Output_segment *pOVar12;\n  Output_section *pOVar13;\n  General_options *pGVar14;\n  char *pcVar15;\n  anon_union_4_4_94c5dad9_for_u_ *__args_0;\n  iterator iVar16;\n  char cVar17;\n  iterator __position;\n  undefined4 uVar18;\n  pointer pcVar19;\n  pointer pSVar20;\n  pointer ppOVar21;\n  pointer pSVar22;\n  _Hash_node_base *p_Var23;\n  pointer ppOVar24;\n  pointer local_60;\n  anon_union_4_4_94c5dad9_for_u_ local_54;\n  anon_union_4_4_94c5dad9_for_u_ local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  anon_union_4_4_94c5dad9_for_u_ local_44;\n  anon_union_4_4_94c5dad9_for_u_ local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  string rpath_val;\n  \n  if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0)) {\n    pOVar12 = make_output_segment(this,2,6);\n    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);\n    pOVar4 = this->dynamic_data_;\n  }\n  else {\n    pOVar4 = this->dynamic_data_;\n  }\n  if (pOVar4 == (Output_data_dynamic *)0x0) {\n    return;\n  }\n  local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start;\n  if (local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish) {\n    do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);\n  }\nLAB_0009d268:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  if (((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0xe;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  pSVar10 = Symbol_table::lookup(symtab,(pGVar14->init_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n  pSVar10 = Symbol_table::lookup(symtab,(parameters->options_->fini_).value,(char *)0x0);\n  if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }\n  ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  this_00 = &pOVar4->entries_;\n  if (ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish) {\n    do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);\n  }\nLAB_0009d46a:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n            _M_impl._M_start;\n  if (pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.\n      _M_finish) {\n    paVar1 = &rpath_val.field_2;\n    rpath_val._M_string_length = 0;\n    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;\n    rpath_val._M_dataplus._M_p = (pointer)paVar1;\n    do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }\n  else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }\n  bVar9 = false;\nLAB_0009d624:\n  pGVar14 = parameters->options_;\n  if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  pcVar15 = (pGVar14->filter_).value;\n  if (pcVar15 != (char *)0x0) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }\n  if (((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)) {\n    do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);\n  }\n  if (bVar9) {\n    rpath_val.field_2._M_allocated_capacity = 0x16;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n    if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar17 = (pGVar14->shared_).value;\n    pcVar19 = (pointer)0x4;\n    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;\n    if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }\n  if ((pGVar14->origin_).value != false) {\n    pcVar19 = (pointer)((uint)pcVar19 | 1);\n  }\n  if (((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)) {\n    pGVar14 = parameters->options_;\n    if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }\n    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;\n  }\n  else {\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2);\n  if ((pGVar14->initfirst_).value != false) {\n    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);\n  }\n  if ((pGVar14->interpose_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;\n  }\n  if ((pGVar14->loadfltr_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;\n  }\n  if ((pGVar14->nodefaultlib_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;\n  }\n  if ((pGVar14->nodelete_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;\n  }\n  if ((pGVar14->nodlopen_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;\n  }\n  if ((pGVar14->nodump_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;\n  }\n  if ((pGVar14->shared_).value == false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;\n  }\n  if ((pGVar14->origin_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;\n  }\n  bVar9 = (pGVar14->Bgroup_).value;\n  if ((pGVar14->now_).value == false) {\n    if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }\n  rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;\nLAB_0009da89:\n  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;\n  iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n       ._M_impl._M_finish;\n  rpath_val.field_2._4_4_ = 0xffffffff;\n  if (iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_end_of_storage) {\n    std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    return;\n  }\n  ((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p;\n  (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n  (iVar16._M_current)->tag_ = DT_FLAGS_1;\n  (iVar16._M_current)->offset_ = 0xffffffff;\n  (pOVar4->entries_).\n  super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;\n  return;\nLAB_0009d54c:\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((parameters->options_->enable_new_dtags_).value == false) {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_4c = 0xf;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }\n    (iVar16._M_current)->u_ = (char *)local_54;\n    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n    (pOVar4->entries_).\n    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n  }\n  else {\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1) {\n    operator_delete(rpath_val._M_dataplus._M_p);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar9 = true;\n  goto LAB_0009d624;\n}" { (declaration "Dynamic_entries *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar1;" (binary_expression "allocator<char>_>_9\n  *paVar1" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar1" identifier * identifier)) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "Output_data_dynamic *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "Elf_Word EVar5;" type_identifier identifier ;) (declaration "Dynamic_entry *pDVar6;" type_identifier (pointer_declarator "*pDVar6" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "Elf_Xword EVar7;" type_identifier identifier ;) (declaration "size_type sVar8;" type_identifier identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "Symbol *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "Output_segment *pOVar12;" type_identifier (pointer_declarator "*pOVar12" * identifier) ;) (declaration "Output_section *pOVar13;" type_identifier (pointer_declarator "*pOVar13" * identifier) ;) (declaration "General_options *pGVar14;" type_identifier (pointer_declarator "*pGVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "anon_union_4_4_94c5dad9_for_u_ *__args_0;" type_identifier (pointer_declarator "*__args_0" * identifier) ;) (declaration "iterator iVar16;" type_identifier identifier ;) (declaration "char cVar17;" primitive_type identifier ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "pointer pcVar19;" type_identifier identifier ;) (declaration "pointer pSVar20;" type_identifier identifier ;) (declaration "pointer ppOVar21;" type_identifier identifier ;) (declaration "pointer pSVar22;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var23;" type_identifier (pointer_declarator "*p_Var23" * identifier) ;) (declaration "pointer ppOVar24;" type_identifier identifier ;) (declaration "pointer local_60;" type_identifier identifier ;) (declaration "anon_union_4_4_94c5dad9_for_u_ local_54;" type_identifier identifier ;) (declaration "anon_union_4_4_94c5dad9_for_u_ local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "anon_union_4_4_94c5dad9_for_u_ local_44;" type_identifier identifier ;) (declaration "anon_union_4_4_94c5dad9_for_u_ local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "string rpath_val;" type_identifier identifier ;) (if_statement "if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0)) {\n    pOVar12 = make_output_segment(this,2,6);\n    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);\n    pOVar4 = this->dynamic_data_;\n  }\n  else {\n    pOVar4 = this->dynamic_data_;\n  }" if (parenthesized_expression "((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0))" ( (binary_expression "(((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)) &&\n     (this->dynamic_section_ != (Output_section *)0x0)" (parenthesized_expression "(((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0))" ( (binary_expression "((this->script_options_->script_sections_).saw_sections_clause_ == false) ||\n      ((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)" (parenthesized_expression "((this->script_options_->script_sections_).saw_sections_clause_ == false)" ( (binary_expression "(this->script_options_->script_sections_).saw_sections_clause_ == false" (field_expression "(this->script_options_->script_sections_).saw_sections_clause_" (parenthesized_expression "(this->script_options_->script_sections_)" ( (field_expression "this->script_options_->script_sections_" (field_expression "this->script_options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) || (parenthesized_expression "((this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0)" ( (binary_expression "(this->script_options_->script_sections_).phdrs_elements_ == (Phdrs_elements *)0x0" (field_expression "(this->script_options_->script_sections_).phdrs_elements_" (parenthesized_expression "(this->script_options_->script_sections_)" ( (field_expression "this->script_options_->script_sections_" (field_expression "this->script_options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == (cast_expression "(Phdrs_elements *)0x0" ( (type_descriptor "Phdrs_elements *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(this->dynamic_section_ != (Output_section *)0x0)" ( (binary_expression "this->dynamic_section_ != (Output_section *)0x0" (field_expression "this->dynamic_section_" identifier -> field_identifier) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pOVar12 = make_output_segment(this,2,6);\n    Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);\n    pOVar4 = this->dynamic_data_;\n  }" { (expression_statement "pOVar12 = make_output_segment(this,2,6);" (assignment_expression "pOVar12 = make_output_segment(this,2,6)" identifier = (call_expression "make_output_segment(this,2,6)" identifier (argument_list "(this,2,6)" ( identifier , number_literal , number_literal )))) ;) (labeled_statement "Output_segment::add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_to_nonload(pOVar12,this->dynamic_section_,6);" (call_expression "add_output_section_to_nonload(pOVar12,this->dynamic_section_,6)" identifier (argument_list "(pOVar12,this->dynamic_section_,6)" ( identifier , (field_expression "this->dynamic_section_" identifier -> field_identifier) , number_literal ))) ;)) (expression_statement "pOVar4 = this->dynamic_data_;" (assignment_expression "pOVar4 = this->dynamic_data_" identifier = (field_expression "this->dynamic_data_" identifier -> field_identifier)) ;) }) (else_clause "else {\n    pOVar4 = this->dynamic_data_;\n  }" else (compound_statement "{\n    pOVar4 = this->dynamic_data_;\n  }" { (expression_statement "pOVar4 = this->dynamic_data_;" (assignment_expression "pOVar4 = this->dynamic_data_" identifier = (field_expression "this->dynamic_data_" identifier -> field_identifier)) ;) }))) (if_statement "if (pOVar4 == (Output_data_dynamic *)0x0) {\n    return;\n  }" if (parenthesized_expression "(pOVar4 == (Output_data_dynamic *)0x0)" ( (binary_expression "pOVar4 == (Output_data_dynamic *)0x0" identifier == (cast_expression "(Output_data_dynamic *)0x0" ( (type_descriptor "Output_data_dynamic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start;" (field_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_start" (field_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std" (assignment_expression "local_60 = (input_objects->dynobj_list_).\n             super__Vector_base<gold" identifier = (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold" (field_expression "(input_objects->dynobj_list_).\n             super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish) {\n    do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);\n  }" if (parenthesized_expression "(local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish)" ( (field_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish" (field_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold::Dynobj*,_std" (binary_expression "local_60 !=\n      (input_objects->dynobj_list_).\n      super__Vector_base<gold" identifier != (binary_expression "(input_objects->dynobj_list_).\n      super__Vector_base<gold" (field_expression "(input_objects->dynobj_list_).\n      super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);\n  }" { (do_statement "do {\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    } while ((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60);" do (compound_statement "{\n      while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 1;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      local_60 = local_60 + 1;\n    }" { (while_statement "while( true ) {\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar3 = ((*local_60)->super_Object).field_0x2c;\n        if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;\n      }" { (expression_statement "bVar3 = ((*local_60)->super_Object).field_0x2c;" (assignment_expression "bVar3 = ((*local_60)->super_Object).field_0x2c" identifier = (field_expression "((*local_60)->super_Object).field_0x2c" (parenthesized_expression "((*local_60)->super_Object)" ( (field_expression "(*local_60)->super_Object" (parenthesized_expression "(*local_60)" ( (pointer_expression "*local_60" * identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)) break;" if (parenthesized_expression "(((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0))" ( (binary_expression "((bVar3 & 2) != 0) || ((bVar3 & 0x40) == 0)" (parenthesized_expression "((bVar3 & 2) != 0)" ( (binary_expression "(bVar3 & 2) != 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar3 & 0x40) == 0)" ( (binary_expression "(bVar3 & 0x40) == 0" (parenthesized_expression "(bVar3 & 0x40)" ( (binary_expression "bVar3 & 0x40" identifier & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0009d1fa:\n        local_60 = local_60 + 1;" statement_identifier : (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;)) (if_statement "if ((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60) goto LAB_0009d268;" if (parenthesized_expression "((input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60)" ( (binary_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish ==\n            local_60" (field_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish" (field_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold::Dynobj*,_std" (binary_expression "(input_objects->dynobj_list_).\n            super__Vector_base<gold" (field_expression "(input_objects->dynobj_list_).\n            super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (goto_statement "goto LAB_0009d268;" goto statement_identifier ;)) })) (expression_statement "rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0);" (assignment_expression "rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "Stringpool_template<char>::add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                     (pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,((*local_60)->soname_)._M_dataplus._M_p,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , (field_expression "((*local_60)->soname_)._M_dataplus._M_p" (field_expression "((*local_60)->soname_)._M_dataplus" (parenthesized_expression "((*local_60)->soname_)" ( (field_expression "(*local_60)->soname_" (parenthesized_expression "(*local_60)" ( (pointer_expression "*local_60" * identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = 1;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 1" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffc;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffc" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }" if (parenthesized_expression "(iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current !=\n          (pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) != (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_NEEDED;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n        goto LAB_0009d1fa;\n      }" { (expression_statement "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;" (assignment_expression "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p" (field_expression "((iVar16._M_current)->u_).str" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_NEEDED;" (assignment_expression "(iVar16._M_current)->tag_ = DT_NEEDED" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffc;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffc" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) (goto_statement "goto LAB_0009d1fa;" goto statement_identifier ;) })) (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60)" ( (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish !=\n             local_60" (field_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl._M_finish" (field_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold::Dynobj*,_std" (binary_expression "(input_objects->dynobj_list_).\n             super__Vector_base<gold" (field_expression "(input_objects->dynobj_list_).\n             super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (labeled_statement "LAB_0009d268:\n  pGVar14 = parameters->options_;" statement_identifier : (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;)) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0xe;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }" if (parenthesized_expression "(((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0))" ( (binary_expression "((pGVar14->shared_).value != false) &&\n     (pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)" (parenthesized_expression "((pGVar14->shared_).value != false)" ( (binary_expression "(pGVar14->shared_).value != false" (field_expression "(pGVar14->shared_).value" (parenthesized_expression "(pGVar14->shared_)" ( (field_expression "pGVar14->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "(pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0)" ( (comma_expression "pcVar15 = (pGVar14->soname_).value, pcVar15 != (char *)0x0" (assignment_expression "pcVar15 = (pGVar14->soname_).value" identifier = (field_expression "(pGVar14->soname_).value" (parenthesized_expression "(pGVar14->soname_)" ( (field_expression "pGVar14->soname_" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0xe;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);" (assignment_expression "rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,pcVar15,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , identifier , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0xe;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0xe" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffc;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffc" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" if (parenthesized_expression "(iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SONAME;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" { (expression_statement "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;" (assignment_expression "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p" (field_expression "((iVar16._M_current)->u_).str" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_SONAME;" (assignment_expression "(iVar16._M_current)->tag_ = DT_SONAME" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffc;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffc" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (ERROR "pSVar10 = Symbol_table::" (assignment_expression "pSVar10 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,(pGVar14->init_).value,(char *)0x0);" (call_expression "lookup(symtab,(pGVar14->init_).value,(char *)0x0)" identifier (argument_list "(symtab,(pGVar14->init_).value,(char *)0x0)" ( identifier , (field_expression "(pGVar14->init_).value" (parenthesized_expression "(pGVar14->init_)" ( (field_expression "pGVar14->init_" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }" if (parenthesized_expression "(pSVar10 != (Symbol *)0x0)" ( (binary_expression "pSVar10 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }" { (if_statement "if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" if (parenthesized_expression "((pSVar10->field_0x2a & 7) == 0)" ( (binary_expression "(pSVar10->field_0x2a & 7) == 0" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }\n    }" { (if_statement "if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "((pSVar10->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar10->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar10->field_0x2b & 0x20)" ( (binary_expression "pSVar10->field_0x2b & 0x20" (field_expression "pSVar10->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }" { (ERROR "bVar9 = Symbol::" (assignment_expression "bVar9 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx((pSVar10->u2_).shndx);" (call_expression "is_common_shndx((pSVar10->u2_).shndx)" identifier (argument_list "((pSVar10->u2_).shndx)" ( (field_expression "(pSVar10->u2_).shndx" (parenthesized_expression "(pSVar10->u2_)" ( (field_expression "pSVar10->u2_" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" { (if_statement "if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dd08;" if (parenthesized_expression "((pSVar10->field_0x2a & 7) != 0)" ( (binary_expression "(pSVar10->field_0x2a & 7) != 0" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd61;" goto statement_identifier ;) })) }) (else_clause "else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }" else (if_statement "if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "((pSVar10->u2_).shndx != 0)" ( (binary_expression "(pSVar10->u2_).shndx != 0" (field_expression "(pSVar10->u2_).shndx" (parenthesized_expression "(pSVar10->u2_)" ( (field_expression "pSVar10->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;\n      }" { (labeled_statement "LAB_0009dd61:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;" statement_identifier : (if_statement "if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;" if (parenthesized_expression "(((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0)" ( (binary_expression "((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0" (parenthesized_expression "((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1)" ( (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base" (subscript_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_" (call_expression "(uint)((pSVar10->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((pSVar10->u1_).output_segment)" ( (field_expression "(pSVar10->u1_).output_segment" (parenthesized_expression "(pSVar10->u1_)" ( (field_expression "pSVar10->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;))) })))) }) (else_clause "else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" else (if_statement "if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" if (parenthesized_expression "((pSVar10->field_0x2a & 7) != 4)" ( (binary_expression "(pSVar10->field_0x2a & 7) != 4" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" { (labeled_statement "LAB_0009dd08:\n      rpath_val.field_2._M_allocated_capacity = 0xc;" statement_identifier : (expression_statement "rpath_val.field_2._M_allocated_capacity = 0xc;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0xc" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;)) (ERROR "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffd;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffd" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pSVar10;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pSVar10" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pSVar10" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" if (parenthesized_expression "(iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" else (compound_statement "{\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_INIT;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" { (expression_statement "((iVar16._M_current)->u_).sym = pSVar10;" (assignment_expression "((iVar16._M_current)->u_).sym = pSVar10" (field_expression "((iVar16._M_current)->u_).sym" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_INIT;" (assignment_expression "(iVar16._M_current)->tag_ = DT_INIT" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffd;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffd" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) })))) })) (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;" 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)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (ERROR "pSVar10 = Symbol_table::" (assignment_expression "pSVar10 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,(parameters->options_->fini_).value,(char *)0x0);" (call_expression "lookup(symtab,(parameters->options_->fini_).value,(char *)0x0)" identifier (argument_list "(symtab,(parameters->options_->fini_).value,(char *)0x0)" ( identifier , (field_expression "(parameters->options_->fini_).value" (parenthesized_expression "(parameters->options_->fini_)" ( (field_expression "parameters->options_->fini_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (pSVar10 != (Symbol *)0x0) {\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }" if (parenthesized_expression "(pSVar10 != (Symbol *)0x0)" ( (binary_expression "pSVar10 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }\n  }" { (if_statement "if ((pSVar10->field_0x2a & 7) == 0) {\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" if (parenthesized_expression "((pSVar10->field_0x2a & 7) == 0)" ( (binary_expression "(pSVar10->field_0x2a & 7) == 0" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }\n    }" { (if_statement "if ((pSVar10->field_0x2b & 0x20) == 0) {\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "((pSVar10->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar10->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar10->field_0x2b & 0x20)" ( (binary_expression "pSVar10->field_0x2b & 0x20" (field_expression "pSVar10->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        bVar9 = Symbol::is_common_shndx((pSVar10->u2_).shndx);\n        if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }" { (ERROR "bVar9 = Symbol::" (assignment_expression "bVar9 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx((pSVar10->u2_).shndx);" (call_expression "is_common_shndx((pSVar10->u2_).shndx)" identifier (argument_list "((pSVar10->u2_).shndx)" ( (field_expression "(pSVar10->u2_).shndx" (parenthesized_expression "(pSVar10->u2_)" ( (field_expression "pSVar10->u2_" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (!bVar9) {\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" if (parenthesized_expression "(!bVar9)" ( (unary_expression "!bVar9" ! identifier) )) (compound_statement "{\n          if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" { (if_statement "if ((pSVar10->field_0x2a & 7) != 0) goto LAB_0009dcc0;" if (parenthesized_expression "((pSVar10->field_0x2a & 7) != 0)" ( (binary_expression "(pSVar10->field_0x2a & 7) != 0" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd91;" goto statement_identifier ;) })) }) (else_clause "else if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }" else (if_statement "if ((pSVar10->u2_).shndx != 0) {\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "((pSVar10->u2_).shndx != 0)" ( (binary_expression "(pSVar10->u2_).shndx != 0" (field_expression "(pSVar10->u2_).shndx" (parenthesized_expression "(pSVar10->u2_)" ( (field_expression "pSVar10->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;\n      }" { (labeled_statement "LAB_0009dd91:\n        if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;" statement_identifier : (if_statement "if (((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;" if (parenthesized_expression "(((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0)" ( (binary_expression "((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1) == 0" (parenthesized_expression "((uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1)" ( (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage & 1" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl._M_end_of_storage" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                   _M_impl" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base<gold" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3].\n                   super__Vector_base" (subscript_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((pSVar10->u1_).output_segment)->output_lists_" (call_expression "(uint)((pSVar10->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((pSVar10->u1_).output_segment)" ( (field_expression "(pSVar10->u1_).output_segment" (parenthesized_expression "(pSVar10->u1_)" ( (field_expression "pSVar10->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;))) })))) }) (else_clause "else if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" else (if_statement "if ((pSVar10->field_0x2a & 7) != 4) {\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" if (parenthesized_expression "((pSVar10->field_0x2a & 7) != 4)" ( (binary_expression "(pSVar10->field_0x2a & 7) != 4" (parenthesized_expression "(pSVar10->field_0x2a & 7)" ( (binary_expression "pSVar10->field_0x2a & 7" (field_expression "pSVar10->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffd;\n      rpath_val._M_dataplus._M_p = (pointer)pSVar10;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n    }" { (labeled_statement "LAB_0009dcc0:\n      rpath_val.field_2._M_allocated_capacity = 0xd;" statement_identifier : (expression_statement "rpath_val.field_2._M_allocated_capacity = 0xd;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0xd" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;)) (ERROR "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffd;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffd" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pSVar10;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pSVar10" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pSVar10" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" if (parenthesized_expression "(iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" else (compound_statement "{\n        ((iVar16._M_current)->u_).sym = pSVar10;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_FINI;\n        (iVar16._M_current)->offset_ = 0xfffffffd;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" { (expression_statement "((iVar16._M_current)->u_).sym = pSVar10;" (assignment_expression "((iVar16._M_current)->u_).sym = pSVar10" (field_expression "((iVar16._M_current)->u_).sym" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_FINI;" (assignment_expression "(iVar16._M_current)->tag_ = DT_FINI" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffd;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffd" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) })))) })) (expression_statement "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;" (field_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start" (field_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl" (binary_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar21 = (this->section_list_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n             super__Vector_base<gold" (field_expression "(this->section_list_).\n             super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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 "this_00 = &pOVar4->entries_;" (assignment_expression "this_00 = &pOVar4->entries_" identifier = (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier))) ;) (if_statement "if (ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish) {\n    do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);\n  }" if (parenthesized_expression "(ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish)" ( (field_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "ppOVar21 !=\n      (this->section_list_).\n      super__Vector_base<gold" identifier != (binary_expression "(this->section_list_).\n      super__Vector_base<gold" (field_expression "(this->section_list_).\n      super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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) )) (compound_statement "{\n    do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);\n  }" { (do_statement "do {\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    } while ((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21);" do (compound_statement "{\n      while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }\n      if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }\n      rpath_val.field_2._4_4_ = 0xfffffffe;\n      rpath_val._M_string_length = 0;\n      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;\n      rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);\nLAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;\n    }" { (while_statement "while( true ) {\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pOVar13 = *ppOVar21;\n        EVar5 = pOVar13->type_;\n        if (EVar5 != 0xf) break;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x1a;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1c;\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;\n        rpath_val._M_string_length = 0;\n        ((__position._M_current)->u_).val = (uint)pOVar13;\n        ppOVar21 = ppOVar21 + 1;\n        (__position._M_current)->od2 = (Output_data *)0x0;\n        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;\n        (__position._M_current)->offset_ = 0xfffffffe;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;\n        rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n        if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;\n      }" { (expression_statement "pOVar13 = *ppOVar21;" (assignment_expression "pOVar13 = *ppOVar21" identifier = (pointer_expression "*ppOVar21" * identifier)) ;) (expression_statement "EVar5 = pOVar13->type_;" (assignment_expression "EVar5 = pOVar13->type_" identifier = (field_expression "pOVar13->type_" identifier -> field_identifier)) ;) (if_statement "if (EVar5 != 0xf) break;" if (parenthesized_expression "(EVar5 != 0xf)" ( (binary_expression "EVar5 != 0xf" identifier != number_literal) )) (break_statement "break;" break ;)) (ERROR "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar4->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x1a;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x1a" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val.field_2._4_4_ = 0;" (assignment_expression "rpath_val.field_2._4_4_ = 0" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" if (parenthesized_expression "(pDVar6 == iVar16._M_current)" ( (binary_expression "pDVar6 == iVar16._M_current" identifier == (field_expression "iVar16._M_current" identifier . field_identifier)) )) (compound_statement "{\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }" { (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n          vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "this_00,iVar16,(Dynamic_entry *)&rpath_val" identifier , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (expression_statement "pOVar13 = *ppOVar21;" (assignment_expression "pOVar13 = *ppOVar21" identifier = (pointer_expression "*ppOVar21" * identifier)) ;) (ERROR "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (ERROR "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) }) (else_clause "else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" else (compound_statement "{\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_FINI_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" { (expression_statement "(pDVar6->u_).val = (uint)pOVar13;" (assignment_expression "(pDVar6->u_).val = (uint)pOVar13" (field_expression "(pDVar6->u_).val" (parenthesized_expression "(pDVar6->u_)" ( (field_expression "pDVar6->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "__position._M_current = pDVar6 + 1;" (assignment_expression "__position._M_current = pDVar6 + 1" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "pDVar6 + 1" identifier + number_literal)) ;) (expression_statement "pDVar6->od2 = (Output_data *)0x0;" (assignment_expression "pDVar6->od2 = (Output_data *)0x0" (field_expression "pDVar6->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar6->tag_ = DT_FINI_ARRAY;" (assignment_expression "pDVar6->tag_ = DT_FINI_ARRAY" (field_expression "pDVar6->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar6->offset_ = 0;" (assignment_expression "pDVar6->offset_ = 0" (field_expression "pDVar6->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (field_expression "__position._M_current" identifier . field_identifier)) ;))) }))) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x1c;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x1c" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffe;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffe" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current == __position._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }" if (parenthesized_expression "(iVar16._M_current == __position._M_current)" ( (binary_expression "iVar16._M_current == __position._M_current" (field_expression "iVar16._M_current" identifier . field_identifier) == (field_expression "__position._M_current" identifier . field_identifier)) )) (compound_statement "{\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          goto LAB_0009d3b9;\n        }" { (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n          vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "this_00,iVar16,(Dynamic_entry *)&rpath_val" identifier , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d43e:\n        rpath_val.field_2._4_4_ = 0xfffffffe;" statement_identifier : (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffe;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffe" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "((__position._M_current)->u_).val = (uint)pOVar13;" (assignment_expression "((__position._M_current)->u_).val = (uint)pOVar13" (field_expression "((__position._M_current)->u_).val" (parenthesized_expression "((__position._M_current)->u_)" ( (field_expression "(__position._M_current)->u_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppOVar21 = ppOVar21 + 1;" (assignment_expression "ppOVar21 = ppOVar21 + 1" identifier = (binary_expression "ppOVar21 + 1" identifier + number_literal)) ;) (expression_statement "(__position._M_current)->od2 = (Output_data *)0x0;" (assignment_expression "(__position._M_current)->od2 = (Output_data *)0x0" (field_expression "(__position._M_current)->od2" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;" (assignment_expression "(__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity" (field_expression "(__position._M_current)->tag_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(__position._M_current)->offset_ = 0xfffffffe;" (assignment_expression "(__position._M_current)->offset_ = 0xfffffffe" (field_expression "(__position._M_current)->offset_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = __position._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;))) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if ((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21) goto LAB_0009d46a;" if (parenthesized_expression "((this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21)" ( (binary_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish == ppOVar21" (field_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish" (field_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl" (binary_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->section_list_).\n            super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->section_list_).\n            super__Vector_base<gold" (field_expression "(this->section_list_).\n            super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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_0009d46a;" goto statement_identifier ;)) })) (if_statement "if (EVar5 == 0x10) {\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }\n      else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }" if (parenthesized_expression "(EVar5 == 0x10)" ( (binary_expression "EVar5 == 0x10" identifier == number_literal) )) (compound_statement "{\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x20;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x21;\n      }" { (ERROR "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar4->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x20;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x20" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val.field_2._4_4_ = 0;" (assignment_expression "rpath_val.field_2._4_4_ = 0" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" if (parenthesized_expression "(pDVar6 == iVar16._M_current)" ( (binary_expression "pDVar6 == iVar16._M_current" identifier == (field_expression "iVar16._M_current" identifier . field_identifier)) )) (compound_statement "{\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }" { (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n          vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "this_00,iVar16,(Dynamic_entry *)&rpath_val" identifier , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (expression_statement "pOVar13 = *ppOVar21;" (assignment_expression "pOVar13 = *ppOVar21" identifier = (pointer_expression "*ppOVar21" * identifier)) ;) (ERROR "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (ERROR "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) }) (else_clause "else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" else (compound_statement "{\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_ENCODING;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" { (expression_statement "(pDVar6->u_).val = (uint)pOVar13;" (assignment_expression "(pDVar6->u_).val = (uint)pOVar13" (field_expression "(pDVar6->u_).val" (parenthesized_expression "(pDVar6->u_)" ( (field_expression "pDVar6->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "__position._M_current = pDVar6 + 1;" (assignment_expression "__position._M_current = pDVar6 + 1" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "pDVar6 + 1" identifier + number_literal)) ;) (expression_statement "pDVar6->od2 = (Output_data *)0x0;" (assignment_expression "pDVar6->od2 = (Output_data *)0x0" (field_expression "pDVar6->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar6->tag_ = DT_ENCODING;" (assignment_expression "pDVar6->tag_ = DT_ENCODING" (field_expression "pDVar6->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar6->offset_ = 0;" (assignment_expression "pDVar6->offset_ = 0" (field_expression "pDVar6->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (field_expression "__position._M_current" identifier . field_identifier)) ;))) }))) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x21;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x21" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }" else (compound_statement "{\n        if (EVar5 != 0xe) goto LAB_0009d3b9;\n        pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;\n        rpath_val.field_2._M_allocated_capacity = 0x19;\n        rpath_val.field_2._4_4_ = 0;\n        rpath_val._M_string_length = 0;\n        if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }\n        rpath_val.field_2._M_allocated_capacity = 0x1b;\n      }" { (if_statement "if (EVar5 != 0xe) goto LAB_0009d3b9;" if (parenthesized_expression "(EVar5 != 0xe)" ( (binary_expression "EVar5 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;)) (ERROR "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar4->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar4->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n             (pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n             super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n             super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n             ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n             ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x19;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x19" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val.field_2._4_4_ = 0;" (assignment_expression "rpath_val.field_2._4_4_ = 0" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if (pDVar6 == iVar16._M_current) {\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }\n        else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" if (parenthesized_expression "(pDVar6 == iVar16._M_current)" ( (binary_expression "pDVar6 == iVar16._M_current" identifier == (field_expression "iVar16._M_current" identifier . field_identifier)) )) (compound_statement "{\n          rpath_val._M_dataplus._M_p = (pointer)pOVar13;\n          std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);\n          pOVar13 = *ppOVar21;\n          __position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n          iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n        }" { (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::\n          vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n          vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n          ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                    (this_00,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "this_00,iVar16,(Dynamic_entry *)&rpath_val" identifier , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (expression_statement "pOVar13 = *ppOVar21;" (assignment_expression "pOVar13 = *ppOVar21" identifier = (pointer_expression "*ppOVar21" * identifier)) ;) (ERROR "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "__position._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (ERROR "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n               (pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) }) (else_clause "else {\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" else (compound_statement "{\n          (pDVar6->u_).val = (uint)pOVar13;\n          __position._M_current = pDVar6 + 1;\n          pDVar6->od2 = (Output_data *)0x0;\n          pDVar6->tag_ = DT_INIT_ARRAY;\n          pDVar6->offset_ = 0;\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;\n        }" { (expression_statement "(pDVar6->u_).val = (uint)pOVar13;" (assignment_expression "(pDVar6->u_).val = (uint)pOVar13" (field_expression "(pDVar6->u_).val" (parenthesized_expression "(pDVar6->u_)" ( (field_expression "pDVar6->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "__position._M_current = pDVar6 + 1;" (assignment_expression "__position._M_current = pDVar6 + 1" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "pDVar6 + 1" identifier + number_literal)) ;) (expression_statement "pDVar6->od2 = (Output_data *)0x0;" (assignment_expression "pDVar6->od2 = (Output_data *)0x0" (field_expression "pDVar6->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar6->tag_ = DT_INIT_ARRAY;" (assignment_expression "pDVar6->tag_ = DT_INIT_ARRAY" (field_expression "pDVar6->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar6->offset_ = 0;" (assignment_expression "pDVar6->offset_ = 0" (field_expression "pDVar6->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = __position._M_current" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (field_expression "__position._M_current" identifier . field_identifier)) ;))) }))) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x1b;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x1b" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) }))) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffe;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffe" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (if_statement "if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;" if (parenthesized_expression "(__position._M_current != iVar16._M_current)" ( (binary_expression "__position._M_current != iVar16._M_current" (field_expression "__position._M_current" identifier . field_identifier) != (field_expression "iVar16._M_current" identifier . field_identifier)) )) (goto_statement "goto LAB_0009d43e;" goto statement_identifier ;)) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)pOVar13;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)pOVar13" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)pOVar13" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (this_00,__position,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(this_00,__position,(Dynamic_entry *)&rpath_val)" ( (comma_expression "this_00,__position,(Dynamic_entry *)&rpath_val" identifier , (comma_expression "__position,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (labeled_statement "LAB_0009d3b9:\n      ppOVar21 = ppOVar21 + 1;" statement_identifier : (expression_statement "ppOVar21 = ppOVar21 + 1;" (assignment_expression "ppOVar21 = ppOVar21 + 1" identifier = (binary_expression "ppOVar21 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "((this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21)" ( (binary_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != ppOVar21" (field_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish" (field_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl" (binary_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->section_list_).\n             super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->section_list_).\n             super__Vector_base<gold" (field_expression "(this->section_list_).\n             super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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) )) ;) })) (labeled_statement "LAB_0009d46a:\n  pGVar14 = parameters->options_;" statement_identifier : (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;)) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (ERROR "pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold::Search_directory,_std" (assignment_expression "pSVar22 = (pGVar14->rpath_).value.\n            super__Vector_base<gold" identifier = (binary_expression "(pGVar14->rpath_).value.\n            super__Vector_base<gold" (field_expression "(pGVar14->rpath_).value.\n            super__Vector_base" (field_expression "(pGVar14->rpath_).value" (parenthesized_expression "(pGVar14->rpath_)" ( (field_expression "pGVar14->rpath_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>.\n            _M_impl._M_start;" (field_expression "Search_directory>_>.\n            _M_impl._M_start" (field_expression "Search_directory>_>.\n            _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.\n      _M_finish) {\n    paVar1 = &rpath_val.field_2;\n    rpath_val._M_string_length = 0;\n    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;\n    rpath_val._M_dataplus._M_p = (pointer)paVar1;\n    do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>._M_impl.\n      _M_finish)" ( (ERROR "pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold::Search_directory,_std" (binary_expression "pSVar22 !=\n      (pGVar14->rpath_).value.\n      super__Vector_base<gold" identifier != (binary_expression "(pGVar14->rpath_).value.\n      super__Vector_base<gold" (field_expression "(pGVar14->rpath_).value.\n      super__Vector_base" (field_expression "(pGVar14->rpath_).value" (parenthesized_expression "(pGVar14->rpath_)" ( (field_expression "pGVar14->rpath_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Search_directory>_>._M_impl.\n      _M_finish" (field_expression "Search_directory>_>._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    paVar1 = &rpath_val.field_2;\n    rpath_val._M_string_length = 0;\n    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;\n    rpath_val._M_dataplus._M_p = (pointer)paVar1;\n    do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );\n  }" { (expression_statement "paVar1 = &rpath_val.field_2;" (assignment_expression "paVar1 = &rpath_val.field_2" identifier = (pointer_expression "&rpath_val.field_2" & (field_expression "rpath_val.field_2" identifier . field_identifier))) ;) (expression_statement "rpath_val._M_string_length = 0;" (assignment_expression "rpath_val._M_string_length = 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val.field_2._M_allocated_capacity & 0xffffff00" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) & number_literal)) ;) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)paVar1;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)paVar1" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (do_statement "do {\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    } while( true );" do (compound_statement "{\n      sVar8 = rpath_val._M_string_length;\n      if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }\n      if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\nLAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;\n    }" { (expression_statement "sVar8 = rpath_val._M_string_length;" (assignment_expression "sVar8 = rpath_val._M_string_length" identifier = (field_expression "rpath_val._M_string_length" identifier . field_identifier)) ;) (if_statement "if (rpath_val._M_string_length == 0) {\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }\n      else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }" if (parenthesized_expression "(rpath_val._M_string_length == 0)" ( (binary_expression "rpath_val._M_string_length == 0" (field_expression "rpath_val._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */\n        std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);\n      }" { comment (labeled_statement "std::string::_M_assign((string *)&rpath_val,(string *)pSVar22);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_assign((string *)&rpath_val,(string *)pSVar22);" statement_identifier : (ERROR ":" :) (expression_statement "_M_assign((string *)&rpath_val,(string *)pSVar22);" (call_expression "_M_assign((string *)&rpath_val,(string *)pSVar22)" identifier (argument_list "((string *)&rpath_val,(string *)pSVar22)" ( (cast_expression "(string *)&rpath_val" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)) , (cast_expression "(string *)pSVar22" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) }) (else_clause "else {\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }" else (compound_statement "{\n        pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                  ._M_impl._M_start;\n        if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }\n        uVar2 = sVar8 + 1;\n        uVar18 = 0xf;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }\n        if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }\n        rpath_val._M_dataplus._M_p[sVar8] = ':';\n        rpath_val._M_dataplus._M_p[uVar2] = '\0';\n        rpath_val._M_string_length = uVar2;\n                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */\n        std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);\n      }" { (ERROR "pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold::Search_directory,_std" (assignment_expression "pSVar20 = (pGVar14->rpath_).value.\n                  super__Vector_base<gold" identifier = (binary_expression "(pGVar14->rpath_).value.\n                  super__Vector_base<gold" (field_expression "(pGVar14->rpath_).value.\n                  super__Vector_base" (field_expression "(pGVar14->rpath_).value" (parenthesized_expression "(pGVar14->rpath_)" ( (field_expression "pGVar14->rpath_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Search_directory>_>\n                  ._M_impl._M_start;" (field_expression "Search_directory>_>\n                  ._M_impl._M_start" (field_expression "Search_directory>_>\n                  ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pSVar20 != pSVar22) {\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }" if (parenthesized_expression "(pSVar20 != pSVar22)" ( (binary_expression "pSVar20 != pSVar22" identifier != identifier) )) (compound_statement "{\n          __n = (pSVar22->name_)._M_string_length;\n          do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);\n        }" { (expression_statement "__n = (pSVar22->name_)._M_string_length;" (assignment_expression "__n = (pSVar22->name_)._M_string_length" identifier = (field_expression "(pSVar22->name_)._M_string_length" (parenthesized_expression "(pSVar22->name_)" ( (field_expression "pSVar22->name_" identifier -> field_identifier) )) . field_identifier)) ;) (do_statement "do {\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          } while (pSVar22 != pSVar20);" do (compound_statement "{\n            if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            pSVar20 = pSVar20 + 1;\n          }" { (if_statement "if (((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))) {\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" if (parenthesized_expression "(((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0))))" ( (binary_expression "((pSVar20->name_)._M_string_length == __n) &&\n               ((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))" (parenthesized_expression "((pSVar20->name_)._M_string_length == __n)" ( (binary_expression "(pSVar20->name_)._M_string_length == __n" (field_expression "(pSVar20->name_)._M_string_length" (parenthesized_expression "(pSVar20->name_)" ( (field_expression "pSVar20->name_" identifier -> field_identifier) )) . field_identifier) == identifier) )) && (parenthesized_expression "((__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)))" ( (parenthesized_expression "(__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0))" ( (binary_expression "__n == 0 ||\n                (iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)" (binary_expression "__n == 0" identifier == number_literal) || (parenthesized_expression "(iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0)" ( (comma_expression "iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n), iVar11 == 0" (assignment_expression "iVar11 = memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n)" identifier = (call_expression "memcmp((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n)" identifier (argument_list "((pSVar20->name_)._M_dataplus._M_p,(pSVar22->name_)._M_dataplus._M_p\n                                 ,__n)" ( (field_expression "(pSVar20->name_)._M_dataplus._M_p" (field_expression "(pSVar20->name_)._M_dataplus" (parenthesized_expression "(pSVar20->name_)" ( (field_expression "pSVar20->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (field_expression "(pSVar22->name_)._M_dataplus._M_p" (field_expression "(pSVar22->name_)._M_dataplus" (parenthesized_expression "(pSVar22->name_)" ( (field_expression "pSVar22->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n              if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" { (if_statement "if (pSVar22 != pSVar20) {\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" if (parenthesized_expression "(pSVar22 != pSVar20)" ( (binary_expression "pSVar22 != pSVar20" identifier != identifier) )) (compound_statement "{\n                if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" { (if_statement "if ((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;" if (parenthesized_expression "((pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1)" ( (ERROR "(pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "(pGVar14->rpath_).value.\n                    super__Vector_base<gold::Search_directory,_std" (binary_expression "(pGVar14->rpath_).value.\n                    super__Vector_base<gold" (field_expression "(pGVar14->rpath_).value.\n                    super__Vector_base" (field_expression "(pGVar14->rpath_).value" (parenthesized_expression "(pGVar14->rpath_)" ( (field_expression "pGVar14->rpath_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Search_directory>_>\n                    ._M_impl._M_finish == pSVar22 + 1" (field_expression "Search_directory>_>\n                    ._M_impl._M_finish" (field_expression "Search_directory>_>\n                    ._M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "pSVar22 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d4d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "pSVar20 = pSVar20 + 1;" (assignment_expression "pSVar20 = pSVar20 + 1" identifier = (binary_expression "pSVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pSVar22 != pSVar20)" ( (binary_expression "pSVar22 != pSVar20" identifier != identifier) )) ;) })) (expression_statement "uVar2 = sVar8 + 1;" (assignment_expression "uVar2 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "uVar18 = 0xf;" (assignment_expression "uVar18 = 0xf" identifier = number_literal) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1) {\n          uVar18 = rpath_val.field_2._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             *)rpath_val._M_dataplus._M_p != paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p != paVar1)" ( (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             *)rpath_val._M_dataplus._M_p != paVar1" (binary_expression "allocator<char>_>_9\n             *)rpath_val._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)rpath_val._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n          uVar18 = rpath_val.field_2._M_allocated_capacity;\n        }" { (expression_statement "uVar18 = rpath_val.field_2._M_allocated_capacity;" (assignment_expression "uVar18 = rpath_val.field_2._M_allocated_capacity" identifier = (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier)) ;) })) (if_statement "if (uVar18 < uVar2) {\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }" if (parenthesized_expression "(uVar18 < uVar2)" ( (binary_expression "uVar18 < uVar2" identifier < identifier) )) (compound_statement "{\n                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */\n          std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);\n        }" { comment (labeled_statement "std::string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1);" (call_expression "_M_mutate((string *)&rpath_val,sVar8,0,(char *)0x0,1)" identifier (argument_list "((string *)&rpath_val,sVar8,0,(char *)0x0,1)" ( (cast_expression "(string *)&rpath_val" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)) , identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal ))) ;))) })) (expression_statement "rpath_val._M_dataplus._M_p[sVar8] = ':';" (assignment_expression "rpath_val._M_dataplus._M_p[sVar8] = ':'" (subscript_expression "rpath_val._M_dataplus._M_p[sVar8]" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "rpath_val._M_dataplus._M_p[uVar2] = '\0';" (assignment_expression "rpath_val._M_dataplus._M_p[uVar2] = '\0'" (subscript_expression "rpath_val._M_dataplus._M_p[uVar2]" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "rpath_val._M_string_length = uVar2;" (assignment_expression "rpath_val._M_string_length = uVar2" (field_expression "rpath_val._M_string_length" identifier . field_identifier) = identifier) ;) comment (labeled_statement "std::string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length);" (call_expression "_M_append\n                  ((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length)" identifier (argument_list "((string *)&rpath_val,(pSVar22->name_)._M_dataplus._M_p,\n                   (pSVar22->name_)._M_string_length)" ( (cast_expression "(string *)&rpath_val" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)) , (field_expression "(pSVar22->name_)._M_dataplus._M_p" (field_expression "(pSVar22->name_)._M_dataplus" (parenthesized_expression "(pSVar22->name_)" ( (field_expression "pSVar22->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (field_expression "(pSVar22->name_)._M_string_length" (parenthesized_expression "(pSVar22->name_)" ( (field_expression "pSVar22->name_" identifier -> field_identifier) )) . field_identifier) ))) ;))) }))) (if_statement "if ((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1) goto LAB_0009d54c;" if (parenthesized_expression "((pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1)" ( (ERROR "(pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std::allocator<gold::" (comma_expression "(pGVar14->rpath_).value.\n          super__Vector_base<gold::Search_directory,_std" (binary_expression "(pGVar14->rpath_).value.\n          super__Vector_base<gold" (field_expression "(pGVar14->rpath_).value.\n          super__Vector_base" (field_expression "(pGVar14->rpath_).value" (parenthesized_expression "(pGVar14->rpath_)" ( (field_expression "pGVar14->rpath_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Search_directory" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Search_directory>_>.\n          _M_impl._M_finish == pSVar22 + 1" (field_expression "Search_directory>_>.\n          _M_impl._M_finish" (field_expression "Search_directory>_>.\n          _M_impl" (binary_expression "Search_directory>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "pSVar22 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (labeled_statement "LAB_0009d4d8:\n      pSVar22 = pSVar22 + 1;" statement_identifier : (expression_statement "pSVar22 = pSVar22 + 1;" (assignment_expression "pSVar22 = pSVar22 + 1" identifier = (binary_expression "pSVar22 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0009d5ce:\n  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }\n  else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }" statement_identifier : (if_statement "if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }\n  else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }" if (parenthesized_expression "((this->script_options_->script_sections_).saw_sections_clause_ == false)" ( (binary_expression "(this->script_options_->script_sections_).saw_sections_clause_ == false" (field_expression "(this->script_options_->script_sections_).saw_sections_clause_" (parenthesized_expression "(this->script_options_->script_sections_)" ( (field_expression "this->script_options_->script_sections_" (field_expression "this->script_options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;\n    if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }\n  }" { (expression_statement "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start;" (field_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_start" (field_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl" (binary_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std" (assignment_expression "ppOVar24 = (this->segment_list_).\n               super__Vector_base<gold" identifier = (binary_expression "(this->segment_list_).\n               super__Vector_base<gold" (field_expression "(this->segment_list_).\n               super__Vector_base" (parenthesized_expression "(this->segment_list_)" ( (field_expression "this->segment_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish) {\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }" if (parenthesized_expression "(ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish)" ( (field_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl.\n        _M_finish" (field_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>._M_impl" (binary_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold::Output_segment*,_std" (binary_expression "ppOVar24 !=\n        (this->segment_list_).\n        super__Vector_base<gold" identifier != (binary_expression "(this->segment_list_).\n        super__Vector_base<gold" (field_expression "(this->segment_list_).\n        super__Vector_base" (parenthesized_expression "(this->segment_list_)" ( (field_expression "this->segment_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);\n    }" { (do_statement "do {\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      } while ((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24);" do (compound_statement "{\n        pOVar12 = *ppOVar24;\n        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;\n        ppOVar24 = ppOVar24 + 1;\n      }" { (expression_statement "pOVar12 = *ppOVar24;" (assignment_expression "pOVar12 = *ppOVar24" identifier = (pointer_expression "*ppOVar24" * identifier)) ;) (if_statement "if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)) goto LAB_0009d929;" if (parenthesized_expression "(((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9))" ( (binary_expression "((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&\n           (bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)" (parenthesized_expression "((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0))" ( (binary_expression "(pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)" (parenthesized_expression "(pOVar12->type_ == 1)" ( (binary_expression "pOVar12->type_ == 1" (field_expression "pOVar12->type_" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "((pOVar12->flags_ & 2) == 0)" ( (binary_expression "(pOVar12->flags_ & 2) == 0" (parenthesized_expression "(pOVar12->flags_ & 2)" ( (binary_expression "pOVar12->flags_ & 2" (field_expression "pOVar12->flags_" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(bVar9 = Output_segment::has_dynamic_reloc(pOVar12), bVar9)" ( (ERROR "bVar9 = Output_segment::" (assignment_expression "bVar9 = Output_segment" identifier = identifier) : :) (comma_expression "has_dynamic_reloc(pOVar12), bVar9" (call_expression "has_dynamic_reloc(pOVar12)" identifier (argument_list "(pOVar12)" ( identifier ))) , identifier) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) (expression_statement "ppOVar24 = ppOVar24 + 1;" (assignment_expression "ppOVar24 = ppOVar24 + 1" identifier = (binary_expression "ppOVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24)" ( (binary_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish != ppOVar24" (field_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl._M_finish" (field_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>.\n               _M_impl" (binary_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "(this->segment_list_).\n               super__Vector_base<gold::Output_segment*,_std" (binary_expression "(this->segment_list_).\n               super__Vector_base<gold" (field_expression "(this->segment_list_).\n               super__Vector_base" (parenthesized_expression "(this->segment_list_)" ( (field_expression "this->segment_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) }) (else_clause "else {\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }" else (compound_statement "{\n    for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }\n  }" { (for_statement "for (ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n        ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish; ppOVar21 = ppOVar21 + 1) {\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }" for ( (field_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar21 = (this->section_list_).\n                    super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n                    super__Vector_base<gold" (field_expression "(this->section_list_).\n                    super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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) ; (field_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish" (field_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold::Output_section*,_std" (binary_expression "ppOVar21 !=\n        (this->section_list_).\n        super__Vector_base<gold" identifier != (binary_expression "(this->section_list_).\n        super__Vector_base<gold" (field_expression "(this->section_list_).\n        super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" 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) ; (assignment_expression "ppOVar21 = ppOVar21 + 1" identifier = (binary_expression "ppOVar21 + 1" identifier + number_literal)) ) (compound_statement "{\n      EVar7 = (*ppOVar21)->flags_;\n      if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;\n    }" { (expression_statement "EVar7 = (*ppOVar21)->flags_;" (assignment_expression "EVar7 = (*ppOVar21)->flags_" identifier = (field_expression "(*ppOVar21)->flags_" (parenthesized_expression "(*ppOVar21)" ( (pointer_expression "*ppOVar21" * identifier) )) -> field_identifier)) ;) (if_statement "if ((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;" if (parenthesized_expression "((((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0))" ( (binary_expression "(((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)) &&\n         ((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)" (parenthesized_expression "(((EVar7 & 2) != 0) && ((EVar7 & 1) == 0))" ( (binary_expression "((EVar7 & 2) != 0) && ((EVar7 & 1) == 0)" (parenthesized_expression "((EVar7 & 2) != 0)" ( (binary_expression "(EVar7 & 2) != 0" (parenthesized_expression "(EVar7 & 2)" ( (binary_expression "EVar7 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((EVar7 & 1) == 0)" ( (binary_expression "(EVar7 & 1) == 0" (parenthesized_expression "(EVar7 & 1)" ( (binary_expression "EVar7 & 1" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0)" ( (binary_expression "(((*ppOVar21)->super_Output_data).field_0x1c & 0x10) != 0" (parenthesized_expression "(((*ppOVar21)->super_Output_data).field_0x1c & 0x10)" ( (binary_expression "((*ppOVar21)->super_Output_data).field_0x1c & 0x10" (field_expression "((*ppOVar21)->super_Output_data).field_0x1c" (parenthesized_expression "((*ppOVar21)->super_Output_data)" ( (field_expression "(*ppOVar21)->super_Output_data" (parenthesized_expression "(*ppOVar21)" ( (pointer_expression "*ppOVar21" * identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) })) })))) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (labeled_statement "LAB_0009d624:\n  pGVar14 = parameters->options_;" statement_identifier : (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;)) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "pcVar15 = (pGVar14->filter_).value;" (assignment_expression "pcVar15 = (pGVar14->filter_).value" identifier = (field_expression "(pGVar14->filter_).value" (parenthesized_expression "(pGVar14->filter_)" ( (field_expression "pGVar14->filter_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pcVar15 != (char *)0x0) {\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);\n    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xfffffffc;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0);" (assignment_expression "rpath_val._M_dataplus._M_p =\n         Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "Stringpool_template<char>::add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(pOVar4->pool_,pcVar15,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,pcVar15,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , identifier , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x7fffffff;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x7fffffff" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffc;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffc" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" if (parenthesized_expression "(iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FILTER;\n      (iVar16._M_current)->offset_ = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" { (expression_statement "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;" (assignment_expression "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p" (field_expression "((iVar16._M_current)->u_).str" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_FILTER;" (assignment_expression "(iVar16._M_current)->tag_ = DT_FILTER" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffc;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffc" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (if_statement "if (((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)) {\n    do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);\n  }" if (parenthesized_expression "(((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0))" ( (binary_expression "((pGVar14->auxiliary_).value._M_h._M_element_count != 0) &&\n     (p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)" (parenthesized_expression "((pGVar14->auxiliary_).value._M_h._M_element_count != 0)" ( (binary_expression "(pGVar14->auxiliary_).value._M_h._M_element_count != 0" (field_expression "(pGVar14->auxiliary_).value._M_h._M_element_count" (field_expression "(pGVar14->auxiliary_).value._M_h" (field_expression "(pGVar14->auxiliary_).value" (parenthesized_expression "(pGVar14->auxiliary_)" ( (field_expression "pGVar14->auxiliary_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) != number_literal) )) && (parenthesized_expression "(p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0)" ( (comma_expression "p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt,\n     p_Var23 != (_Hash_node_base *)0x0" (assignment_expression "p_Var23 = (pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt" identifier = (field_expression "(pGVar14->auxiliary_).value._M_h._M_before_begin._M_nxt" (field_expression "(pGVar14->auxiliary_).value._M_h._M_before_begin" (field_expression "(pGVar14->auxiliary_).value._M_h" (field_expression "(pGVar14->auxiliary_).value" (parenthesized_expression "(pGVar14->auxiliary_)" ( (field_expression "pGVar14->auxiliary_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) , (binary_expression "p_Var23 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);\n  }" { (do_statement "do {\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    } while (p_Var23 != (_Hash_node_base *)0x0);" do (compound_statement "{\n      rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);\n      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;\n      iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;\n      rpath_val.field_2._4_4_ = 0xfffffffc;\n      if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }\n      p_Var23 = p_Var23->_M_nxt;\n      if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    }" { (expression_statement "rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0);" (assignment_expression "rpath_val._M_dataplus._M_p =\n           Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "Stringpool_template<char>::add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,(char *)p_Var23[1]._M_nxt,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , (cast_expression "(char *)p_Var23[1]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var23[1]._M_nxt" (subscript_expression "p_Var23[1]" identifier [ number_literal ]) . field_identifier)) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x7ffffffd" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n           (pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n           super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n           super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n           ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n           ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n           ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n           ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xfffffffc;" (assignment_expression "rpath_val.field_2._4_4_ = 0xfffffffc" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage) {\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }\n      else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" if (parenthesized_expression "(iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n          (pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n      }" { (labeled_statement "std::\n        vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                  (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" else (compound_statement "{\n        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;\n        (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n        (iVar16._M_current)->tag_ = DT_AUXILIARY;\n        (iVar16._M_current)->offset_ = 0xfffffffc;\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;\n      }" { (expression_statement "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;" (assignment_expression "((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p" (field_expression "((iVar16._M_current)->u_).str" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_AUXILIARY;" (assignment_expression "(iVar16._M_current)->tag_ = DT_AUXILIARY" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xfffffffc;" (assignment_expression "(iVar16._M_current)->offset_ = 0xfffffffc" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "p_Var23 = p_Var23->_M_nxt;" (assignment_expression "p_Var23 = p_Var23->_M_nxt" identifier = (field_expression "p_Var23->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;" 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)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) }) while (parenthesized_expression "(p_Var23 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var23 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar9) {\n    rpath_val.field_2._M_allocated_capacity = 0x16;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n    if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar17 = (pGVar14->shared_).value;\n    pcVar19 = (pointer)0x4;\n    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;\n    if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    rpath_val.field_2._M_allocated_capacity = 0x16;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n    if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar17 = (pGVar14->shared_).value;\n    pcVar19 = (pointer)0x4;\n    if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;\n    if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }\n  }" { (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x16;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x16" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xffffffff;" (assignment_expression "rpath_val.field_2._4_4_ = 0xffffffff" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)0x0" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" if (parenthesized_expression "(iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_TEXTREL;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" { (expression_statement "((iVar16._M_current)->u_).val = 0;" (assignment_expression "((iVar16._M_current)->u_).val = 0" (field_expression "((iVar16._M_current)->u_).val" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_TEXTREL;" (assignment_expression "(iVar16._M_current)->tag_ = DT_TEXTREL" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xffffffff;" (assignment_expression "(iVar16._M_current)->offset_ = 0xffffffff" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if ((pGVar14->text_).value != false) {\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }" if (parenthesized_expression "((pGVar14->text_).value != false)" ( (binary_expression "(pGVar14->text_).value != false" (field_expression "(pGVar14->text_).value" (parenthesized_expression "(pGVar14->text_)" ( (field_expression "pGVar14->text_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      pcVar15 = (char *)gettext("read-only segment has dynamic relocations");\n      gold_error(pcVar15);\nLAB_0009dde4:\n      pGVar14 = parameters->options_;\n      if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;\n      cVar17 = (pGVar14->shared_).value;\n      pcVar19 = (pointer)0x4;\n      goto LAB_0009d9a3;\n    }" { (expression_statement "pcVar15 = (char *)gettext("read-only segment has dynamic relocations");" (assignment_expression "pcVar15 = (char *)gettext("read-only segment has dynamic relocations")" identifier = (cast_expression "(char *)gettext("read-only segment has dynamic relocations")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("read-only segment has dynamic relocations")" identifier (argument_list "("read-only segment has dynamic relocations")" ( (string_literal ""read-only segment has dynamic relocations"" " string_content ") ))))) ;) (expression_statement "gold_error(pcVar15);" (call_expression "gold_error(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (labeled_statement "LAB_0009dde4:\n      pGVar14 = parameters->options_;" statement_identifier : (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;)) (if_statement "if (pGVar14 == (General_options *)0x0) goto LAB_0009db81;" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "cVar17 = (pGVar14->shared_).value;" (assignment_expression "cVar17 = (pGVar14->shared_).value" identifier = (field_expression "(pGVar14->shared_).value" (parenthesized_expression "(pGVar14->shared_)" ( (field_expression "pGVar14->shared_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar19 = (pointer)0x4;" (assignment_expression "pcVar19 = (pointer)0x4" identifier = (cast_expression "(pointer)0x4" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;) })) (expression_statement "cVar17 = (pGVar14->shared_).value;" (assignment_expression "cVar17 = (pGVar14->shared_).value" identifier = (field_expression "(pGVar14->shared_).value" (parenthesized_expression "(pGVar14->shared_)" ( (field_expression "pGVar14->shared_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar19 = (pointer)0x4;" (assignment_expression "pcVar19 = (pointer)0x4" identifier = (cast_expression "(pointer)0x4" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if ((pGVar14->warn_shared_textrel_).value == false) goto LAB_0009d9a3;" if (parenthesized_expression "((pGVar14->warn_shared_textrel_).value == false)" ( (binary_expression "(pGVar14->warn_shared_textrel_).value == false" (field_expression "(pGVar14->warn_shared_textrel_).value" (parenthesized_expression "(pGVar14->warn_shared_textrel_)" ( (field_expression "pGVar14->warn_shared_textrel_" identifier -> field_identifier) )) . field_identifier) == false) )) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;)) (if_statement "if ((bool)cVar17 != false) {\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }" if (parenthesized_expression "((bool)cVar17 != false)" ( (binary_expression "(bool)cVar17 != false" (cast_expression "(bool)cVar17" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n      pcVar15 = (char *)gettext("shared library text segment is not shareable");\n      gold_warning(pcVar15);\n      goto LAB_0009dde4;\n    }" { (expression_statement "pcVar15 = (char *)gettext("shared library text segment is not shareable");" (assignment_expression "pcVar15 = (char *)gettext("shared library text segment is not shareable")" identifier = (cast_expression "(char *)gettext("shared library text segment is not shareable")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("shared library text segment is not shareable")" identifier (argument_list "("shared library text segment is not shareable")" ( (string_literal ""shared library text segment is not shareable"" " string_content ") ))))) ;) (expression_statement "gold_warning(pcVar15);" (call_expression "gold_warning(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (goto_statement "goto LAB_0009dde4;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }" else (compound_statement "{\n    pcVar19 = (pointer)0x0;\n    pGVar14 = parameters->options_;\n    cVar17 = (pGVar14->shared_).value;\nLAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }\n  }" { (expression_statement "pcVar19 = (pointer)0x0;" (assignment_expression "pcVar19 = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (expression_statement "cVar17 = (pGVar14->shared_).value;" (assignment_expression "cVar17 = (pGVar14->shared_).value" identifier = (field_expression "(pGVar14->shared_).value" (parenthesized_expression "(pGVar14->shared_)" ( (field_expression "pGVar14->shared_" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "LAB_0009d9a3:\n    if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }" statement_identifier : (if_statement "if ((cVar17 != '\0') && (this->has_static_tls_ != false)) {\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }" if (parenthesized_expression "((cVar17 != '\0') && (this->has_static_tls_ != false))" ( (binary_expression "(cVar17 != '\0') && (this->has_static_tls_ != false)" (parenthesized_expression "(cVar17 != '\0')" ( (binary_expression "cVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(this->has_static_tls_ != false)" ( (binary_expression "this->has_static_tls_ != false" (field_expression "this->has_static_tls_" identifier -> field_identifier) != false) ))) )) (compound_statement "{\n      pcVar19 = (pointer)((uint)pcVar19 | 0x10);\n    }" { (expression_statement "pcVar19 = (pointer)((uint)pcVar19 | 0x10);" (assignment_expression "pcVar19 = (pointer)((uint)pcVar19 | 0x10)" identifier = (call_expression "(pointer)((uint)pcVar19 | 0x10)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)pcVar19 | 0x10)" ( (binary_expression "(uint)pcVar19 | 0x10" (cast_expression "(uint)pcVar19" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) }))) }))) (if_statement "if ((pGVar14->origin_).value != false) {\n    pcVar19 = (pointer)((uint)pcVar19 | 1);\n  }" if (parenthesized_expression "((pGVar14->origin_).value != false)" ( (binary_expression "(pGVar14->origin_).value != false" (field_expression "(pGVar14->origin_).value" (parenthesized_expression "(pGVar14->origin_)" ( (field_expression "pGVar14->origin_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    pcVar19 = (pointer)((uint)pcVar19 | 1);\n  }" { (expression_statement "pcVar19 = (pointer)((uint)pcVar19 | 1);" (assignment_expression "pcVar19 = (pointer)((uint)pcVar19 | 1)" identifier = (call_expression "(pointer)((uint)pcVar19 | 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)pcVar19 | 1)" ( (binary_expression "(uint)pcVar19 | 1" (cast_expression "(uint)pcVar19" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)) {\n    pGVar14 = parameters->options_;\n    if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }\n    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;\n  }\n  else {\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "(((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false))" ( (binary_expression "((pGVar14->Bsymbolic_).value == false) || (pGVar14->have_dynamic_list_ != false)" (parenthesized_expression "((pGVar14->Bsymbolic_).value == false)" ( (binary_expression "(pGVar14->Bsymbolic_).value == false" (field_expression "(pGVar14->Bsymbolic_).value" (parenthesized_expression "(pGVar14->Bsymbolic_)" ( (field_expression "pGVar14->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) == false) )) || (parenthesized_expression "(pGVar14->have_dynamic_list_ != false)" ( (binary_expression "pGVar14->have_dynamic_list_ != false" (field_expression "pGVar14->have_dynamic_list_" identifier -> field_identifier) != false) ))) )) (compound_statement "{\n    pGVar14 = parameters->options_;\n    if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }\n    if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;\n  }" { (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if ((pGVar14->now_).value != false) {\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }" if (parenthesized_expression "((pGVar14->now_).value != false)" ( (binary_expression "(pGVar14->now_).value != false" (field_expression "(pGVar14->now_).value" (parenthesized_expression "(pGVar14->now_)" ( (field_expression "pGVar14->now_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\nLAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);\n      goto LAB_0009db3a;\n    }" { (labeled_statement "LAB_0009db37:\n      pcVar19 = (pointer)((uint)pcVar19 | 8);" statement_identifier : (expression_statement "pcVar19 = (pointer)((uint)pcVar19 | 8);" (assignment_expression "pcVar19 = (pointer)((uint)pcVar19 | 8)" identifier = (call_expression "(pointer)((uint)pcVar19 | 8)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)pcVar19 | 8)" ( (binary_expression "(uint)pcVar19 | 8" (cast_expression "(uint)pcVar19" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;)) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;) })) (if_statement "if (pcVar19 != (pointer)0x0) goto LAB_0009db3a;" if (parenthesized_expression "(pcVar19 != (pointer)0x0)" ( (binary_expression "pcVar19 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;)) }) (else_clause "else {\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    pcVar19 = (pointer)((uint)pcVar19 | 2);\n    rpath_val.field_2._M_allocated_capacity = 0x10;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = (pointer)0x0;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;\n    if ((parameters->options_->now_).value != false) goto LAB_0009db37;\nLAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    rpath_val.field_2._4_4_ = 0xffffffff;\n    rpath_val._M_dataplus._M_p = pcVar19;\n    if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }\n    pGVar14 = parameters->options_;\n    if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "pcVar19 = (pointer)((uint)pcVar19 | 2);" (assignment_expression "pcVar19 = (pointer)((uint)pcVar19 | 2)" identifier = (call_expression "(pointer)((uint)pcVar19 | 2)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)pcVar19 | 2)" ( (binary_expression "(uint)pcVar19 | 2" (cast_expression "(uint)pcVar19" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x10;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x10" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xffffffff;" (assignment_expression "rpath_val.field_2._4_4_ = 0xffffffff" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)0x0" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" if (parenthesized_expression "(iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar16._M_current)->u_).val = 0;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_SYMBOLIC;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" { (expression_statement "((iVar16._M_current)->u_).val = 0;" (assignment_expression "((iVar16._M_current)->u_).val = 0" (field_expression "((iVar16._M_current)->u_).val" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_SYMBOLIC;" (assignment_expression "(iVar16._M_current)->tag_ = DT_SYMBOLIC" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xffffffff;" (assignment_expression "(iVar16._M_current)->offset_ = 0xffffffff" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_0009db81;" 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)) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if ((parameters->options_->now_).value != false) goto LAB_0009db37;" if (parenthesized_expression "((parameters->options_->now_).value != false)" ( (binary_expression "(parameters->options_->now_).value != false" (field_expression "(parameters->options_->now_).value" (parenthesized_expression "(parameters->options_->now_)" ( (field_expression "parameters->options_->now_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_0009db37;" goto statement_identifier ;)) (labeled_statement "LAB_0009db3a:\n    rpath_val.field_2._M_allocated_capacity = 0x1e;" statement_identifier : (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x1e;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x1e" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;)) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xffffffff;" (assignment_expression "rpath_val.field_2._4_4_ = 0xffffffff" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "rpath_val._M_dataplus._M_p = pcVar19;" (assignment_expression "rpath_val._M_dataplus._M_p = pcVar19" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage) {\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }\n    else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" if (parenthesized_expression "(iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n        (pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n        ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    }" { (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) }) (else_clause "else {\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" else (compound_statement "{\n      ((iVar16._M_current)->u_).val = (uint)pcVar19;\n      (iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;\n      (iVar16._M_current)->tag_ = DT_FLAGS;\n      (iVar16._M_current)->offset_ = 0xffffffff;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;\n    }" { (expression_statement "((iVar16._M_current)->u_).val = (uint)pcVar19;" (assignment_expression "((iVar16._M_current)->u_).val = (uint)pcVar19" (field_expression "((iVar16._M_current)->u_).val" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pcVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_FLAGS;" (assignment_expression "(iVar16._M_current)->tag_ = DT_FLAGS" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xffffffff;" (assignment_expression "(iVar16._M_current)->offset_ = 0xffffffff" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) }))) (expression_statement "pGVar14 = parameters->options_;" (assignment_expression "pGVar14 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar14 == (General_options *)0x0) {\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(pGVar14 == (General_options *)0x0)" ( (binary_expression "pGVar14 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009db81:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0009db81:\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 "rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2);" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)((uint)((pGVar14->global_).value != false) * 2)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (call_expression "(pointer)((uint)((pGVar14->global_).value != false) * 2)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)((pGVar14->global_).value != false) * 2)" ( (binary_expression "(uint)((pGVar14->global_).value != false) * 2" (call_expression "(uint)((pGVar14->global_).value != false)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((pGVar14->global_).value != false)" ( (binary_expression "(pGVar14->global_).value != false" (field_expression "(pGVar14->global_).value" (parenthesized_expression "(pGVar14->global_)" ( (field_expression "pGVar14->global_" identifier -> field_identifier) )) . field_identifier) != false) ))) * number_literal) )))) ;) (if_statement "if ((pGVar14->initfirst_).value != false) {\n    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);\n  }" if (parenthesized_expression "((pGVar14->initfirst_).value != false)" ( (binary_expression "(pGVar14->initfirst_).value != false" (field_expression "(pGVar14->initfirst_).value" (parenthesized_expression "(pGVar14->initfirst_)" ( (field_expression "pGVar14->initfirst_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20);" (assignment_expression "rpath_val._M_dataplus._M_p = (pointer)((uint)rpath_val._M_dataplus._M_p | 0x20)" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (call_expression "(pointer)((uint)rpath_val._M_dataplus._M_p | 0x20)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)rpath_val._M_dataplus._M_p | 0x20)" ( (binary_expression "(uint)rpath_val._M_dataplus._M_p | 0x20" (cast_expression "(uint)rpath_val._M_dataplus._M_p" ( (type_descriptor "uint" type_identifier) ) (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier)) | number_literal) )))) ;) })) (if_statement "if ((pGVar14->interpose_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;\n  }" if (parenthesized_expression "((pGVar14->interpose_).value != false)" ( (binary_expression "(pGVar14->interpose_).value != false" (field_expression "(pGVar14->interpose_).value" (parenthesized_expression "(pGVar14->interpose_)" ( (field_expression "pGVar14->interpose_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x400" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->loadfltr_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;\n  }" if (parenthesized_expression "((pGVar14->loadfltr_).value != false)" ( (binary_expression "(pGVar14->loadfltr_).value != false" (field_expression "(pGVar14->loadfltr_).value" (parenthesized_expression "(pGVar14->loadfltr_)" ( (field_expression "pGVar14->loadfltr_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x10" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->nodefaultlib_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;\n  }" if (parenthesized_expression "((pGVar14->nodefaultlib_).value != false)" ( (binary_expression "(pGVar14->nodefaultlib_).value != false" (field_expression "(pGVar14->nodefaultlib_).value" (parenthesized_expression "(pGVar14->nodefaultlib_)" ( (field_expression "pGVar14->nodefaultlib_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x800" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->nodelete_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;\n  }" if (parenthesized_expression "((pGVar14->nodelete_).value != false)" ( (binary_expression "(pGVar14->nodelete_).value != false" (field_expression "(pGVar14->nodelete_).value" (parenthesized_expression "(pGVar14->nodelete_)" ( (field_expression "pGVar14->nodelete_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 8" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->nodlopen_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;\n  }" if (parenthesized_expression "((pGVar14->nodlopen_).value != false)" ( (binary_expression "(pGVar14->nodlopen_).value != false" (field_expression "(pGVar14->nodlopen_).value" (parenthesized_expression "(pGVar14->nodlopen_)" ( (field_expression "pGVar14->nodlopen_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x40" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->nodump_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;\n  }" if (parenthesized_expression "((pGVar14->nodump_).value != false)" ( (binary_expression "(pGVar14->nodump_).value != false" (field_expression "(pGVar14->nodump_).value" (parenthesized_expression "(pGVar14->nodump_)" ( (field_expression "pGVar14->nodump_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x1000" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (if_statement "if ((pGVar14->shared_).value == false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;\n  }" if (parenthesized_expression "((pGVar14->shared_).value == false)" ( (binary_expression "(pGVar14->shared_).value == false" (field_expression "(pGVar14->shared_).value" (parenthesized_expression "(pGVar14->shared_)" ( (field_expression "pGVar14->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p & 0xffffff97" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) & number_literal)) ;) })) (if_statement "if ((pGVar14->origin_).value != false) {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;\n  }" if (parenthesized_expression "((pGVar14->origin_).value != false)" ( (binary_expression "(pGVar14->origin_).value != false" (field_expression "(pGVar14->origin_).value" (parenthesized_expression "(pGVar14->origin_)" ( (field_expression "pGVar14->origin_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 0x80" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) })) (expression_statement "bVar9 = (pGVar14->Bgroup_).value;" (assignment_expression "bVar9 = (pGVar14->Bgroup_).value" identifier = (field_expression "(pGVar14->Bgroup_).value" (parenthesized_expression "(pGVar14->Bgroup_)" ( (field_expression "pGVar14->Bgroup_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pGVar14->now_).value == false) {\n    if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }" if (parenthesized_expression "((pGVar14->now_).value == false)" ( (binary_expression "(pGVar14->now_).value == false" (field_expression "(pGVar14->now_).value" (parenthesized_expression "(pGVar14->now_)" ( (field_expression "pGVar14->now_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }" { (if_statement "if (bVar9 == false) {\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" if (parenthesized_expression "(bVar9 == false)" ( (binary_expression "bVar9 == false" identifier == false) )) (compound_statement "{\n      if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" { (if_statement "if (rpath_val._M_dataplus._M_p == (pointer)0x0) {\n        return;\n      }" if (parenthesized_expression "(rpath_val._M_dataplus._M_p == (pointer)0x0)" ( (binary_expression "rpath_val._M_dataplus._M_p == (pointer)0x0" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;) })) }) (else_clause "else {\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }" else (compound_statement "{\n    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;\n    if (bVar9 == false) goto LAB_0009da89;\n  }" { (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 1" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) (if_statement "if (bVar9 == false) goto LAB_0009da89;" if (parenthesized_expression "(bVar9 == false)" ( (binary_expression "bVar9 == false" identifier == false) )) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;)) }))) (expression_statement "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;" (assignment_expression "rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "rpath_val._M_dataplus._M_p | 4" (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) | number_literal)) ;) (labeled_statement "LAB_0009da89:\n  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;" statement_identifier : (expression_statement "rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;" (assignment_expression "rpath_val.field_2._M_allocated_capacity = 0x6ffffffb" (field_expression "rpath_val.field_2._M_allocated_capacity" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;)) (ERROR "iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n       (pOVar4->entries_).\n       super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n       super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n       super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n       ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n       ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n       ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n       ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "rpath_val.field_2._4_4_ = 0xffffffff;" (assignment_expression "rpath_val.field_2._4_4_ = 0xffffffff" (field_expression "rpath_val.field_2._4_4_" (field_expression "rpath_val.field_2" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_end_of_storage) {\n    std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    return;\n  }" if (parenthesized_expression "(iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_end_of_storage)" ( (ERROR "iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "iVar16._M_current ==\n      (pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) == (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n      ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);\n    return;\n  }" { (labeled_statement "std::\n    vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::\n    vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier (ERROR "::Dynamic_entry>_>\n    ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val);" (binary_expression "Dynamic_entry&>\n              (&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)&rpath_val" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)&rpath_val" identifier , (cast_expression "(Dynamic_entry *)&rpath_val" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rpath_val" & identifier)))) ))) ;))))) (return_statement "return;" return ;) })) (expression_statement "((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p;" (assignment_expression "((iVar16._M_current)->u_).val = (uint)rpath_val._M_dataplus._M_p" (field_expression "((iVar16._M_current)->u_).val" (parenthesized_expression "((iVar16._M_current)->u_)" ( (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(uint)rpath_val._M_dataplus._M_p" ( (type_descriptor "uint" type_identifier) ) (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier))) ;) (expression_statement "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length;" (assignment_expression "(iVar16._M_current)->od2 = (Output_data *)rpath_val._M_string_length" (field_expression "(iVar16._M_current)->od2" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Output_data *)rpath_val._M_string_length" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "rpath_val._M_string_length" identifier . field_identifier))) ;) (expression_statement "(iVar16._M_current)->tag_ = DT_FLAGS_1;" (assignment_expression "(iVar16._M_current)->tag_ = DT_FLAGS_1" (field_expression "(iVar16._M_current)->tag_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(iVar16._M_current)->offset_ = 0xffffffff;" (assignment_expression "(iVar16._M_current)->offset_ = 0xffffffff" (field_expression "(iVar16._M_current)->offset_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n  super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n  super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n  super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1;" (assignment_expression "Dynamic_entry>_>\n  ._M_impl._M_finish = iVar16._M_current + 1" (field_expression "Dynamic_entry>_>\n  ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n  ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "iVar16._M_current + 1" (field_expression "iVar16._M_current" identifier . field_identifier) + number_literal)) ;))) (return_statement "return;" return ;) (labeled_statement "LAB_0009d54c:\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" statement_identifier : (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\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 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */\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_->enable_new_dtags_).value == false) {\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_4c = 0xf;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }\n    (iVar16._M_current)->u_ = (char *)local_54;\n    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n    (pOVar4->entries_).\n    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n  }\n  else {\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }" if (parenthesized_expression "((parameters->options_->enable_new_dtags_).value == false)" ( (binary_expression "(parameters->options_->enable_new_dtags_).value == false" (field_expression "(parameters->options_->enable_new_dtags_).value" (parenthesized_expression "(parameters->options_->enable_new_dtags_)" ( (field_expression "parameters->options_->enable_new_dtags_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */\n    local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_4c = 0xf;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_48 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }\n    (iVar16._M_current)->u_ = (char *)local_54;\n    *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;\n    ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n    (pOVar4->entries_).\n    super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n  }" { comment (expression_statement "local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);" (assignment_expression "local_54.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" (field_expression "local_54.str" identifier . field_identifier) = (binary_expression "Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "local_4c = 0xf;" (assignment_expression "local_4c = 0xf" identifier = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "local_48 = 0xfffffffc;" (assignment_expression "local_48 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }" if (parenthesized_expression "(&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_)" ( (binary_expression "&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" (pointer_expression "&(iVar16._M_current)->u_" & (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier)) == (pointer_expression "&((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" & (field_expression "((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" (parenthesized_expression "((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "(pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) )) (compound_statement "{\n      __args_0 = &local_54;\n      goto LAB_0009de3d;\n    }" { (expression_statement "__args_0 = &local_54;" (assignment_expression "__args_0 = &local_54" identifier = (pointer_expression "&local_54" & identifier)) ;) (goto_statement "goto LAB_0009de3d;" goto statement_identifier ;) })) (expression_statement "(iVar16._M_current)->u_ = (char *)local_54;" (assignment_expression "(iVar16._M_current)->u_ = (char *)local_54" (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(char *)local_54" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50;" (assignment_expression "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_50" (pointer_expression "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4)" * (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 4)" ( (binary_expression "(int)iVar16._M_current + 4" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH;" (assignment_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RPATH" (field_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val" (parenthesized_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))" ( (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 8)" ( (binary_expression "(int)iVar16._M_current + 8" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) ))) )) -> field_identifier) = identifier) ;) (expression_statement "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;" (assignment_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc" (field_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val" (parenthesized_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))" ( (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 0xc)" ( (binary_expression "(int)iVar16._M_current + 0xc" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) ))) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n    super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n    super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n    super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" (assignment_expression "Dynamic_entry>_>\n    ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10)" (field_expression "Dynamic_entry>_>\n    ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n    ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((int)iVar16._M_current + 0x10)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)iVar16._M_current + 0x10)" ( (binary_expression "(int)iVar16._M_current + 0x10" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) )))) ;))) }) (else_clause "else {\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }" else (compound_statement "{\n    local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);\n    local_3c = 0x1d;\n    iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;\n    local_38 = 0xfffffffc;\n    if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }\n  }" { (expression_statement "local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0);" (assignment_expression "local_44.str = Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" (field_expression "local_44.str" identifier . field_identifier) = (binary_expression "Stringpool_template<char>::add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                             (pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" identifier (argument_list "(pOVar4->pool_,rpath_val._M_dataplus._M_p,true,(Key *)0x0)" ( (field_expression "pOVar4->pool_" identifier -> field_identifier) , (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "local_3c = 0x1d;" (assignment_expression "local_3c = 0x1d" identifier = number_literal) ;) (ERROR "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::" (comma_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (assignment_expression "iVar16._M_current =\n         (pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "iVar16._M_current" identifier . field_identifier) = (binary_expression "(pOVar4->entries_).\n         super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n         super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n         ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n         ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n         ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n         ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "local_38 = 0xfffffffc;" (assignment_expression "local_38 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_) {\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }\n    else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }" if (parenthesized_expression "(&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_)" ( (binary_expression "&(iVar16._M_current)->u_ ==\n        &((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" (pointer_expression "&(iVar16._M_current)->u_" & (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier)) == (pointer_expression "&((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" & (field_expression "((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)->u_" (parenthesized_expression "((pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_end_of_storage)" ( (ERROR "(pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "(pOVar4->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "(pOVar4->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n          ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) )) (compound_statement "{\n      __args_0 = &local_44;\nLAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);\n    }" { (expression_statement "__args_0 = &local_44;" (assignment_expression "__args_0 = &local_44" identifier = (pointer_expression "&local_44" & identifier)) ;) (labeled_statement "LAB_0009de3d:\n                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */\n      std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" statement_identifier : comment (labeled_statement "std::\n      vector<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" statement_identifier (ERROR "::\n      vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold::Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" statement_identifier (ERROR "::Dynamic_entry>_>\n      ::_M_realloc_insert<const_gold:" : : (binary_expression "Dynamic_entry>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0);" (binary_expression "Dynamic_entry&>\n                (&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0)" identifier (ERROR "&" &) > (parenthesized_expression "(&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0)" ( (comma_expression "&pOVar4->entries_,iVar16,(Dynamic_entry *)__args_0" (pointer_expression "&pOVar4->entries_" & (field_expression "pOVar4->entries_" identifier -> field_identifier)) , (comma_expression "iVar16,(Dynamic_entry *)__args_0" identifier , (cast_expression "(Dynamic_entry *)__args_0" ( (type_descriptor "Dynamic_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ))) ;)))))) }) (else_clause "else {\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }" else (compound_statement "{\n      (iVar16._M_current)->u_ = (char *)local_44;\n      *(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;\n      ((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;\n      (pOVar4->entries_).\n      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);\n    }" { (expression_statement "(iVar16._M_current)->u_ = (char *)local_44;" (assignment_expression "(iVar16._M_current)->u_ = (char *)local_44" (field_expression "(iVar16._M_current)->u_" (parenthesized_expression "(iVar16._M_current)" ( (field_expression "iVar16._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40;" (assignment_expression "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4) = local_40" (pointer_expression "*(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4)" * (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 4)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 4)" ( (binary_expression "(int)iVar16._M_current + 4" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;" (assignment_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val = DT_RUNPATH" (field_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))->val" (parenthesized_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8))" ( (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 8)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 8)" ( (binary_expression "(int)iVar16._M_current + 8" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) ))) )) -> field_identifier) = identifier) ;) (expression_statement "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;" (assignment_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc" (field_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))->val" (parenthesized_expression "((anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc))" ( (cast_expression "(anon_union_4_4_94c5dad9_for_u_ *)((int)iVar16._M_current + 0xc)" ( (type_descriptor "anon_union_4_4_94c5dad9_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)iVar16._M_current + 0xc)" ( (binary_expression "(int)iVar16._M_current + 0xc" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) ))) )) -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->entries_).\n      super__Vector_base<gold::" (binary_expression "(pOVar4->entries_).\n      super__Vector_base<gold" (field_expression "(pOVar4->entries_).\n      super__Vector_base" (parenthesized_expression "(pOVar4->entries_)" ( (field_expression "pOVar4->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10);" (assignment_expression "Dynamic_entry>_>\n      ._M_impl._M_finish = (pointer)((int)iVar16._M_current + 0x10)" (field_expression "Dynamic_entry>_>\n      ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((int)iVar16._M_current + 0x10)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)iVar16._M_current + 0x10)" ( (binary_expression "(int)iVar16._M_current + 0x10" (cast_expression "(int)iVar16._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "iVar16._M_current" identifier . field_identifier)) + number_literal) )))) ;))) }))) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1) {\n    operator_delete(rpath_val._M_dataplus._M_p);\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p != paVar1)" ( (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       *)rpath_val._M_dataplus._M_p != paVar1" (binary_expression "allocator<char>_>_9\n       *)rpath_val._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)rpath_val._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    operator_delete(rpath_val._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(rpath_val._M_dataplus._M_p);" (call_expression "operator_delete(rpath_val._M_dataplus._M_p)" identifier (argument_list "(rpath_val._M_dataplus._M_p)" ( (field_expression "rpath_val._M_dataplus._M_p" (field_expression "rpath_val._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (goto_statement "goto LAB_0009d5ce;" goto statement_identifier ;) (labeled_statement "LAB_0009d929:\n  bVar9 = true;" statement_identifier : (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;)) (goto_statement "goto LAB_0009d624;" goto statement_identifier ;) })))
(translation_unit "void FUN_0009d170(int param_1,int param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}\n\n" (function_definition "void FUN_0009d170(int param_1,int param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" primitive_type (function_declarator "FUN_0009d170(int param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "size_t extraout_ECX;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "size_t extraout_ECX_00;" primitive_type identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "uint *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (if_statement "if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" if (parenthesized_expression "(((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0))" ( (binary_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)" (parenthesized_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0))" ( (binary_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" ( (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc)" * (cast_expression "(int *)(*(int *)(param_1 + 4) + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xbc)" ( (binary_expression "*(int *)(param_1 + 4) + 0xbc" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(int *)(param_1 + 0x184) != 0)" ( (binary_expression "*(int *)(param_1 + 0x184) != 0" (pointer_expression "*(int *)(param_1 + 0x184)" * (cast_expression "(int *)(param_1 + 0x184)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x184)" ( (binary_expression "param_1 + 0x184" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" { (expression_statement "uVar12 = FUN_0009b0e0(param_1,2,6);" (assignment_expression "uVar12 = FUN_0009b0e0(param_1,2,6)" identifier = (call_expression "FUN_0009b0e0(param_1,2,6)" identifier (argument_list "(param_1,2,6)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);" (call_expression "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6)" identifier (argument_list "(uVar12,*(undefined4 *)(param_1 + 0x184),6)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x184)" * (cast_expression "(undefined4 *)(param_1 + 0x184)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x184)" ( (binary_expression "param_1 + 0x184" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" identifier = (pointer_expression "*(int *)(param_1 + 0x18c)" * (cast_expression "(int *)(param_1 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18c)" ( (binary_expression "param_1 + 0x18c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" else (compound_statement "{\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" { (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" identifier = (pointer_expression "*(int *)(param_1 + 0x18c)" * (cast_expression "(int *)(param_1 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18c)" ( (binary_expression "param_1 + 0x18c" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar3 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_60 = *(int **)(param_2 + 0xc);" (assignment_expression "local_60 = *(int **)(param_2 + 0xc)" identifier = (pointer_expression "*(int **)(param_2 + 0xc)" * (cast_expression "(int **)(param_2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" if (parenthesized_expression "(local_60 != *(int **)(param_2 + 0x10))" ( (binary_expression "local_60 != *(int **)(param_2 + 0x10)" identifier != (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" { (do_statement "do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);" do (compound_statement "{\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    }" { (while_statement "while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" { (expression_statement "bVar2 = *(byte *)(*local_60 + 0x2c);" (assignment_expression "bVar2 = *(byte *)(*local_60 + 0x2c)" identifier = (pointer_expression "*(byte *)(*local_60 + 0x2c)" * (cast_expression "(byte *)(*local_60 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_60 + 0x2c)" ( (binary_expression "*local_60 + 0x2c" (pointer_expression "*local_60" * identifier) + number_literal) ))))) ;) (if_statement "if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;" if (parenthesized_expression "(((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0))" ( (binary_expression "((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)" (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar2 & 0x40) == 0)" ( (binary_expression "(bVar2 & 0x40) == 0" (parenthesized_expression "(bVar2 & 0x40)" ( (binary_expression "bVar2 & 0x40" identifier & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0009d1fa:\n        local_60 = local_60 + 1;" statement_identifier : (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;)) (if_statement "if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;" if (parenthesized_expression "(*(int **)(param_2 + 0x10) == local_60)" ( (binary_expression "*(int **)(param_2 + 0x10) == local_60" (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0009d268;" goto statement_identifier ;)) })) (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*local_60 + 0x38)" * (cast_expression "(undefined4 *)(*local_60 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_60 + 0x38)" ( (binary_expression "*local_60 + 0x38" (pointer_expression "*local_60" * identifier) + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" if (parenthesized_expression "(puVar8 != *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 != *(uint **)(iVar3 + 0x34)" identifier != (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 1;" (assignment_expression "puVar8[2] = 1" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_0009d1fa;" goto statement_identifier ;) })) (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" identifier = (binary_expression "local_60 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_2 + 0x10) != local_60)" ( (binary_expression "*(int **)(param_2 + 0x10) != local_60" (pointer_expression "*(int **)(param_2 + 0x10)" * (cast_expression "(int **)(param_2 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) != identifier) )) ;) })) (labeled_statement "LAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" if (parenthesized_expression "((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0))" ( (binary_expression "(*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)" (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(iVar11 + 0x1aa4) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1aa4) != 0" (pointer_expression "*(int *)(iVar11 + 0x1aa4)" * (cast_expression "(int *)(iVar11 + 0x1aa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1aa4)" ( (binary_expression "iVar11 + 0x1aa4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(int *)(iVar11 + 0x1aa4)" * (cast_expression "(int *)(iVar11 + 0x1aa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1aa4)" ( (binary_expression "iVar11 + 0x1aa4" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0xe;" (assignment_expression "local_2c = 0xe" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" else (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0xe;" (assignment_expression "puVar8[2] = 0xe" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" identifier = (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" identifier (argument_list "(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x1f20)" * (cast_expression "(undefined4 *)(iVar11 + 0x1f20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1f20)" ( (binary_expression "iVar11 + 0x1f20" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" * (cast_expression "(byte *)((int)puVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2b)" ( (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }" { (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" identifier = (call_expression "FUN_00177470(puVar8[3])" identifier (argument_list "(puVar8[3])" ( (subscript_expression "puVar8[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd61;" goto statement_identifier ;) })) }) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" else (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" if (parenthesized_expression "(puVar8[3] != 0)" ( (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" { (labeled_statement "LAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" statement_identifier : (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" if (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" * (cast_expression "(byte *)(puVar8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[2] + 0x2c)" ( (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dd08;" goto statement_identifier ;))) })))) }) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" else (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" { (labeled_statement "LAB_0009dd08:\n      local_2c = 0xc;" statement_identifier : (expression_statement "local_2c = 0xc;" (assignment_expression "local_2c = 0xc" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" else (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0xc;" (assignment_expression "puVar10[2] = 0xc" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) })))) })) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" identifier = (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" identifier (argument_list "(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" * (cast_expression "(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x1538)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x1538" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) , number_literal ))))) ;) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" * (cast_expression "(byte *)((int)puVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2b)" ( (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }" { (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" identifier = (call_expression "FUN_00177470(puVar8[3])" identifier (argument_list "(puVar8[3])" ( (subscript_expression "puVar8[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" { (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009dd91;" goto statement_identifier ;) })) }) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" else (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" if (parenthesized_expression "(puVar8[3] != 0)" ( (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" { (labeled_statement "LAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" statement_identifier : (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" if (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" * (cast_expression "(byte *)(puVar8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[2] + 0x2c)" ( (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009dcc0;" goto statement_identifier ;))) })))) }) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" else (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" * (cast_expression "(byte *)((int)puVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x2a)" ( (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" { (labeled_statement "LAB_0009dcc0:\n      local_2c = 0xd;" statement_identifier : (expression_statement "local_2c = 0xd;" (assignment_expression "local_2c = 0xd" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" else (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0xd;" (assignment_expression "puVar10[2] = 0xd" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) })))) })) (expression_statement "puVar8 = *(uint **)(param_1 + 0x130);" (assignment_expression "puVar8 = *(uint **)(param_1 + 0x130)" identifier = (pointer_expression "*(uint **)(param_1 + 0x130)" * (cast_expression "(uint **)(param_1 + 0x130)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar3 + 0x2c;" (assignment_expression "iVar11 = iVar3 + 0x2c" identifier = (binary_expression "iVar3 + 0x2c" identifier + number_literal)) ;) (if_statement "if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" if (parenthesized_expression "(puVar8 != *(uint **)(param_1 + 0x134))" ( (binary_expression "puVar8 != *(uint **)(param_1 + 0x134)" identifier != (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" { (do_statement "do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);" do (compound_statement "{\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    }" { (while_statement "while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" { (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "uVar4 = puVar10[0x14];" (assignment_expression "uVar4 = puVar10[0x14]" identifier = (subscript_expression "puVar10[0x14]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0xf) break;" if (parenthesized_expression "(uVar4 != 0xf)" ( (binary_expression "uVar4 != 0xf" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x1a;" (assignment_expression "local_2c = 0x1a" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x1a;" (assignment_expression "puVar5[2] = 0x1a" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x1c;" (assignment_expression "local_2c = 0x1c" identifier = number_literal) ;) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" if (parenthesized_expression "(puVar14 == puVar15)" ( (binary_expression "puVar14 == puVar15" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;) })) (labeled_statement "LAB_0009d43e:\n        local_28 = 0xfffffffe;" statement_identifier : (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "*puVar15 = (uint)puVar10;" (assignment_expression "*puVar15 = (uint)puVar10" (pointer_expression "*puVar15" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15[2] = local_2c;" (assignment_expression "puVar15[2] = local_2c" (subscript_expression "puVar15[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar15[3] = 0xfffffffe;" (assignment_expression "puVar15[3] = 0xfffffffe" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar15 + 4" identifier + number_literal)) ;) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (if_statement "if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;" if (parenthesized_expression "(*(uint **)(param_1 + 0x134) == puVar8)" ( (binary_expression "*(uint **)(param_1 + 0x134) == puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0009d46a;" goto statement_identifier ;)) })) (if_statement "if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" if (parenthesized_expression "(uVar4 == 0x10)" ( (binary_expression "uVar4 == 0x10" identifier == number_literal) )) (compound_statement "{\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }" { (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x20;" (assignment_expression "puVar5[2] = 0x20" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x21;" (assignment_expression "local_2c = 0x21" identifier = number_literal) ;) }) (else_clause "else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" else (compound_statement "{\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" { (if_statement "if (uVar4 != 0xe) goto LAB_0009d3b9;" if (parenthesized_expression "(uVar4 != 0xe)" ( (binary_expression "uVar4 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0009d3b9;" goto statement_identifier ;)) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0x19;" (assignment_expression "local_2c = 0x19" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" if (parenthesized_expression "(puVar5 == puVar14)" ( (binary_expression "puVar5 == puVar14" identifier == identifier) )) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" { (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" identifier (argument_list "(iVar11,puVar14,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" identifier = (cast_expression "(uint *)*puVar8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" else (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" { (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0x19;" (assignment_expression "puVar5[2] = 0x19" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_2c = 0x1b;" (assignment_expression "local_2c = 0x1b" identifier = number_literal) ;) }))) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (puVar15 != puVar14) goto LAB_0009d43e;" if (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) (goto_statement "goto LAB_0009d43e;" goto statement_identifier ;)) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" identifier = identifier) ;) (expression_statement "FUN_000a5aa0(iVar11,puVar15,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar15,&local_34)" identifier (argument_list "(iVar11,puVar15,&local_34)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (labeled_statement "LAB_0009d3b9:\n      puVar8 = puVar8 + 1;" statement_identifier : (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(*(uint **)(param_1 + 0x134) != puVar8)" ( (binary_expression "*(uint **)(param_1 + 0x134) != puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" * (cast_expression "(uint **)(param_1 + 0x134)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) != identifier) )) ;) })) (labeled_statement "LAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "puVar17 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar17 = *(undefined4 **)(iVar11 + 0x33d4)" identifier = (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d4)" ( (binary_expression "iVar11 + 0x33d4" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" if (parenthesized_expression "(puVar17 != *(undefined4 **)(iVar11 + 0x33d8))" ( (binary_expression "puVar17 != *(undefined4 **)(iVar11 + 0x33d8)" identifier != (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) ))))) )) (compound_statement "{\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = local_2c & 0xffffff00;" (assignment_expression "local_2c = local_2c & 0xffffff00" identifier = (binary_expression "local_2c & 0xffffff00" identifier & number_literal)) ;) (expression_statement "local_34 = &local_2c;" (assignment_expression "local_34 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (do_statement "do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );" do (compound_statement "{\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    }" { (expression_statement "uVar4 = local_30;" (assignment_expression "uVar4 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }" { (expression_statement "FUN_001ee9c0(&local_34,puVar17);" (call_expression "FUN_001ee9c0(&local_34,puVar17)" identifier (argument_list "(&local_34,puVar17)" ( (pointer_expression "&local_34" & identifier) , identifier ))) ;) (expression_statement "__n = extraout_ECX;" (assignment_expression "__n = extraout_ECX" identifier = identifier) ;) }) (else_clause "else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" else (compound_statement "{\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" { (expression_statement "puVar13 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar13 = *(undefined4 **)(iVar11 + 0x33d4)" identifier = (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d4)" ( (binary_expression "iVar11 + 0x33d4" identifier + number_literal) ))))) ;) (if_statement "if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" if (parenthesized_expression "(puVar13 != puVar17)" ( (binary_expression "puVar13 != puVar17" identifier != identifier) )) (compound_statement "{\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" { (expression_statement "__n = puVar17[1];" (assignment_expression "__n = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (do_statement "do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);" do (compound_statement "{\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          }" { (if_statement "if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" if (parenthesized_expression "((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))" ( (binary_expression "(puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" (parenthesized_expression "(puVar13[1] == __n)" ( (binary_expression "puVar13[1] == __n" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" ( (parenthesized_expression "(__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))" ( (binary_expression "__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" (binary_expression "__n == 0" identifier == number_literal) || (parenthesized_expression "(iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" ( (comma_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0" (assignment_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n)" identifier = (call_expression "memcmp((void *)*puVar13,(void *)*puVar17,__n)" identifier (argument_list "((void *)*puVar13,(void *)*puVar17,__n)" ( (cast_expression "(void *)*puVar13" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier)) , (cast_expression "(void *)*puVar17" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier)) , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" { (if_statement "if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" if (parenthesized_expression "(puVar17 != puVar13)" ( (binary_expression "puVar17 != puVar13" identifier != identifier) )) (compound_statement "{\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" { (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" if (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" ( (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) )))) == (binary_expression "puVar17 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009d4d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "puVar13 = puVar13 + 7;" (assignment_expression "puVar13 = puVar13 + 7" identifier = (binary_expression "puVar13 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar17 != puVar13)" ( (binary_expression "puVar17 != puVar13" identifier != identifier) )) ;) })) (expression_statement "uVar1 = uVar4 + 1;" (assignment_expression "uVar1 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = 0xf;" (assignment_expression "uVar16 = 0xf" identifier = number_literal) ;) (if_statement "if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }" if (parenthesized_expression "(local_34 != &local_2c)" ( (binary_expression "local_34 != &local_2c" identifier != (pointer_expression "&local_2c" & identifier)) )) (compound_statement "{\n          uVar16 = local_2c;\n        }" { (expression_statement "uVar16 = local_2c;" (assignment_expression "uVar16 = local_2c" identifier = identifier) ;) })) (if_statement "if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" if (parenthesized_expression "(uVar16 < uVar1)" ( (binary_expression "uVar16 < uVar1" identifier < identifier) )) (compound_statement "{\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" { (expression_statement "FUN_001eeaa0(&local_34,uVar4,0,0,1);" (call_expression "FUN_001eeaa0(&local_34,uVar4,0,0,1)" identifier (argument_list "(&local_34,uVar4,0,0,1)" ( (pointer_expression "&local_34" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_34 + uVar4) = 0x3a;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar4) = 0x3a" (pointer_expression "*(undefined1 *)((int)local_34 + uVar4)" * (cast_expression "(undefined1 *)((int)local_34 + uVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + uVar4)" ( (binary_expression "(int)local_34 + uVar4" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_34 + uVar1) = 0;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar1) = 0" (pointer_expression "*(undefined1 *)((int)local_34 + uVar1)" * (cast_expression "(undefined1 *)((int)local_34 + uVar1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_34 + uVar1)" ( (binary_expression "(int)local_34 + uVar1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_30 = uVar1;" (assignment_expression "local_30 = uVar1" identifier = identifier) ;) (expression_statement "FUN_001f05c0(&local_34,*puVar17,puVar17[1]);" (call_expression "FUN_001f05c0(&local_34,*puVar17,puVar17[1])" identifier (argument_list "(&local_34,*puVar17,puVar17[1])" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "*puVar17" * identifier) , (subscript_expression "puVar17[1]" identifier [ number_literal ]) ))) ;) (expression_statement "__n = extraout_ECX_00;" (assignment_expression "__n = extraout_ECX_00" identifier = identifier) ;) }))) (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" if (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" ( (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" * (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x33d8)" ( (binary_expression "iVar11 + 0x33d8" identifier + number_literal) )))) == (binary_expression "puVar17 + 7" identifier + number_literal)) )) (goto_statement "goto LAB_0009d54c;" goto statement_identifier ;)) (labeled_statement "LAB_0009d4d8:\n      puVar17 = puVar17 + 7;" statement_identifier : (expression_statement "puVar17 = puVar17 + 7;" (assignment_expression "puVar17 = puVar17 + 7" identifier = (binary_expression "puVar17 + 7" identifier + number_literal)) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" statement_identifier : (if_statement "if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" * (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" ( (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }" { (expression_statement "piVar18 = *(int **)(param_1 + 0x124);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x124)" identifier = (pointer_expression "*(int **)(param_1 + 0x124)" * (cast_expression "(int **)(param_1 + 0x124)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" if (parenthesized_expression "(piVar18 != *(int **)(param_1 + 0x128))" ( (binary_expression "piVar18 != *(int **)(param_1 + 0x128)" identifier != (pointer_expression "*(int **)(param_1 + 0x128)" * (cast_expression "(int **)(param_1 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) ))))) )) (compound_statement "{\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" { (do_statement "do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);" do (compound_statement "{\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      }" { (expression_statement "iVar11 = *piVar18;" (assignment_expression "iVar11 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;" if (parenthesized_expression "(((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'))" ( (binary_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" (parenthesized_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0))" ( (binary_expression "(*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x194) == 1)" ( (binary_expression "*(int *)(iVar11 + 0x194) == 1" (pointer_expression "*(int *)(iVar11 + 0x194)" * (cast_expression "(int *)(iVar11 + 0x194)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x194)" ( (binary_expression "iVar11 + 0x194" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)(iVar11 + 0x198) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x198) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x198) & 2)" ( (binary_expression "*(byte *)(iVar11 + 0x198) & 2" (pointer_expression "*(byte *)(iVar11 + 0x198)" * (cast_expression "(byte *)(iVar11 + 0x198)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x198)" ( (binary_expression "iVar11 + 0x198" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" ( (comma_expression "cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'" (assignment_expression "cVar7 = FUN_000eff40(iVar11)" identifier = (call_expression "FUN_000eff40(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) , (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x128) != piVar18)" ( (binary_expression "*(int **)(param_1 + 0x128) != piVar18" (pointer_expression "*(int **)(param_1 + 0x128)" * (cast_expression "(int **)(param_1 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) )))) != identifier) )) ;) })) }) (else_clause "else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" else (compound_statement "{\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" { (for_statement "for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" for ( (assignment_expression "piVar18 = *(int **)(param_1 + 0x130)" identifier = (pointer_expression "*(int **)(param_1 + 0x130)" * (cast_expression "(int **)(param_1 + 0x130)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) ; (binary_expression "piVar18 != *(int **)(param_1 + 0x134)" identifier != (pointer_expression "*(int **)(param_1 + 0x134)" * (cast_expression "(int **)(param_1 + 0x134)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) ))))) ; (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ) (compound_statement "{\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" { (expression_statement "uVar4 = *(uint *)(*piVar18 + 0x54);" (assignment_expression "uVar4 = *(uint *)(*piVar18 + 0x54)" identifier = (pointer_expression "*(uint *)(*piVar18 + 0x54)" * (cast_expression "(uint *)(*piVar18 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 0x54)" ( (binary_expression "*piVar18 + 0x54" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) ;) (if_statement "if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;" if (parenthesized_expression "((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))" ( (binary_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" (parenthesized_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0))" ( (binary_expression "((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)" (parenthesized_expression "((uVar4 & 2) != 0)" ( (binary_expression "(uVar4 & 2) != 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uVar4 & 1) == 0)" ( (binary_expression "(uVar4 & 1) == 0" (parenthesized_expression "(uVar4 & 1)" ( (binary_expression "uVar4 & 1" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" ( (binary_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10) != 0" (parenthesized_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10)" ( (binary_expression "*(byte *)(*piVar18 + 0x1c) & 0x10" (pointer_expression "*(byte *)(*piVar18 + 0x1c)" * (cast_expression "(byte *)(*piVar18 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar18 + 0x1c)" ( (binary_expression "*piVar18 + 0x1c" (pointer_expression "*piVar18" * identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009d929;" goto statement_identifier ;)) })) })))) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (labeled_statement "LAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1478) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1478) != 0" (pointer_expression "*(int *)(iVar11 + 0x1478)" * (cast_expression "(int *)(iVar11 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1478)" ( (binary_expression "iVar11 + 0x1478" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(int *)(iVar11 + 0x1478)" * (cast_expression "(int *)(iVar11 + 0x1478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1478)" ( (binary_expression "iVar11 + 0x1478" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" else (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x7fffffff;" (assignment_expression "puVar8[2] = 0x7fffffff" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) })) (if_statement "if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" if (parenthesized_expression "((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0))" ( (binary_expression "(*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" (parenthesized_expression "(*(int *)(iVar11 + 0x1428) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1428) != 0" (pointer_expression "*(int *)(iVar11 + 0x1428)" * (cast_expression "(int *)(iVar11 + 0x1428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1428)" ( (binary_expression "iVar11 + 0x1428" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" ( (comma_expression "piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0" (assignment_expression "piVar18 = *(int **)(iVar11 + 0x1424)" identifier = (pointer_expression "*(int **)(iVar11 + 0x1424)" * (cast_expression "(int **)(iVar11 + 0x1424)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1424)" ( (binary_expression "iVar11 + 0x1424" identifier + number_literal) ))))) , (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" { (do_statement "do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);" do (compound_statement "{\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    }" { (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" identifier = (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , (subscript_expression "piVar18[1]" identifier [ number_literal ]) , number_literal , number_literal ))))) ;) (expression_statement "local_2c = 0x7ffffffd;" (assignment_expression "local_2c = 0x7ffffffd" identifier = number_literal) ;) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" else (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" { (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x7ffffffd;" (assignment_expression "puVar8[2] = 0x7ffffffd" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }))) (expression_statement "piVar18 = (int *)*piVar18;" (assignment_expression "piVar18 = (int *)*piVar18" identifier = (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) }) while (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }" { (expression_statement "local_2c = 0x16;" (assignment_expression "local_2c = 0x16" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x16;" (assignment_expression "puVar17[2] = 0x16" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x577d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x577d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x577d)" * (cast_expression "(char *)(iVar11 + 0x577d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x577d)" ( (binary_expression "iVar11 + 0x577d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" { (expression_statement "uVar12 = gettext("read-only segment has dynamic relocations");" (assignment_expression "uVar12 = gettext("read-only segment has dynamic relocations")" identifier = (call_expression "gettext("read-only segment has dynamic relocations")" identifier (argument_list "("read-only segment has dynamic relocations")" ( (string_literal ""read-only segment has dynamic relocations"" " string_content ") )))) ;) (expression_statement "FUN_000654b0(uVar12);" (call_expression "FUN_000654b0(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (labeled_statement "LAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);" statement_identifier : (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;) })) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;" if (parenthesized_expression "(*(char *)(iVar11 + 0x4749) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x4749) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x4749)" * (cast_expression "(char *)(iVar11 + 0x4749)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x4749)" ( (binary_expression "iVar11 + 0x4749" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009d9a3;" goto statement_identifier ;)) (if_statement "if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" { (expression_statement "uVar12 = gettext("shared library text segment is not shareable");" (assignment_expression "uVar12 = gettext("shared library text segment is not shareable")" identifier = (call_expression "gettext("shared library text segment is not shareable")" identifier (argument_list "("shared library text segment is not shareable")" ( (string_literal ""shared library text segment is not shareable"" " string_content ") )))) ;) (expression_statement "FUN_000654e0(uVar12);" (call_expression "FUN_000654e0(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (goto_statement "goto LAB_0009dde4;" goto statement_identifier ;) })) }) (else_clause "else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" else (compound_statement "{\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" { (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" identifier = (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" statement_identifier : (if_statement "if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" if (parenthesized_expression "((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0'))" ( (binary_expression "(cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')" (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1c9) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x1c9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1c9)" * (cast_expression "(char *)(param_1 + 0x1c9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c9)" ( (binary_expression "param_1 + 0x1c9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 0x10);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 0x10)" identifier = (cast_expression "(uint *)((uint)puVar8 | 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 0x10)" ( (binary_expression "(uint)puVar8 | 0x10" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) }))) }))) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" * (cast_expression "(char *)(iVar11 + 0x563d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x563d)" ( (binary_expression "iVar11 + 0x563d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 1);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 1)" identifier = (cast_expression "(uint *)((uint)puVar8 | 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 1)" ( (binary_expression "(uint)puVar8 | 1" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0'))" ( (binary_expression "(*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')" (parenthesized_expression "(*(char *)(iVar11 + 0x825) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x825)" * (cast_expression "(char *)(iVar11 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x825)" ( (binary_expression "iVar11 + 0x825" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar11 + 0x5a0c) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5a0c) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5a0c)" * (cast_expression "(char *)(iVar11 + 0x5a0c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5a0c)" ( (binary_expression "iVar11 + 0x5a0c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }" { (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x55c1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" * (cast_expression "(char *)(iVar11 + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x55c1)" ( (binary_expression "iVar11 + 0x55c1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" { (labeled_statement "LAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);" statement_identifier : (expression_statement "puVar8 = (uint *)((uint)puVar8 | 8);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 8)" identifier = (cast_expression "(uint *)((uint)puVar8 | 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 8)" ( (binary_expression "(uint)puVar8 | 8" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;)) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;) })) (if_statement "if (puVar8 != (uint *)0x0) goto LAB_0009db3a;" if (parenthesized_expression "(puVar8 != (uint *)0x0)" ( (binary_expression "puVar8 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009db3a;" goto statement_identifier ;)) }) (else_clause "else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" else (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "puVar8 = (uint *)((uint)puVar8 | 2);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 2)" identifier = (cast_expression "(uint *)((uint)puVar8 | 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar8 | 2)" ( (binary_expression "(uint)puVar8 | 2" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "local_2c = 0x10;" (assignment_expression "local_2c = 0x10" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0009db81;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x55c1)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x55c1" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009db37;" goto statement_identifier ;)) (labeled_statement "LAB_0009db3a:\n    local_2c = 0x1e;" statement_identifier : (expression_statement "local_2c = 0x1e;" (assignment_expression "local_2c = 0x1e" identifier = number_literal) ;)) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" identifier = identifier) ;) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" if (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) }) (else_clause "else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" else (compound_statement "{\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" { (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" * identifier) = (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = 0x1e;" (assignment_expression "puVar10[2] = 0x1e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xffffffff;" (assignment_expression "puVar10[3] = 0xffffffff" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" { (labeled_statement "LAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../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 "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);" (assignment_expression "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" identifier = (cast_expression "(uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" ( (binary_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2" (call_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(iVar11 + 0x4fad) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x4fad) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x4fad)" * (cast_expression "(char *)(iVar11 + 0x4fad)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x4fad)" ( (binary_expression "iVar11 + 0x4fad" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) * number_literal) )))) ;) (if_statement "if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5029) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5029) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5029)" * (cast_expression "(char *)(iVar11 + 0x5029)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5029)" ( (binary_expression "iVar11 + 0x5029" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x20);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x20)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x20)" ( (binary_expression "(uint)local_34 | 0x20" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x50a5) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x50a5) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x50a5)" * (cast_expression "(char *)(iVar11 + 0x50a5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50a5)" ( (binary_expression "iVar11 + 0x50a5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x400);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x400)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x400)" ( (binary_expression "(uint)local_34 | 0x400" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5199) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5199) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5199)" * (cast_expression "(char *)(iVar11 + 0x5199)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5199)" ( (binary_expression "iVar11 + 0x5199" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x10);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x10)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x10)" ( (binary_expression "(uint)local_34 | 0x10" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x5355) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x5355) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5355)" * (cast_expression "(char *)(iVar11 + 0x5355)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x5355)" ( (binary_expression "iVar11 + 0x5355" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x800);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x800)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x800)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x800)" ( (binary_expression "(uint)local_34 | 0x800" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x53d1) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x53d1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x53d1)" * (cast_expression "(char *)(iVar11 + 0x53d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x53d1)" ( (binary_expression "iVar11 + 0x53d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 8);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 8)" identifier = (cast_expression "(uint *)((uint)local_34 | 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 8)" ( (binary_expression "(uint)local_34 | 8" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x544d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x544d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x544d)" * (cast_expression "(char *)(iVar11 + 0x544d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x544d)" ( (binary_expression "iVar11 + 0x544d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x40);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x40)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x40)" ( (binary_expression "(uint)local_34 | 0x40" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x54c9) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x54c9) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x54c9)" * (cast_expression "(char *)(iVar11 + 0x54c9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x54c9)" ( (binary_expression "iVar11 + 0x54c9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x1000);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x1000)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x1000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x1000)" ( (binary_expression "(uint)local_34 | 0x1000" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" * (cast_expression "(char *)(iVar11 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1a25)" ( (binary_expression "iVar11 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 & 0xffffff97);" (assignment_expression "local_34 = (uint *)((uint)local_34 & 0xffffff97)" identifier = (cast_expression "(uint *)((uint)local_34 & 0xffffff97)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 & 0xffffff97)" ( (binary_expression "(uint)local_34 & 0xffffff97" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" ( (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" * (cast_expression "(char *)(iVar11 + 0x563d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x563d)" ( (binary_expression "iVar11 + 0x563d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 0x80);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x80)" identifier = (cast_expression "(uint *)((uint)local_34 | 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 0x80)" ( (binary_expression "(uint)local_34 | 0x80" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (if_statement "if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" if (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x55c1) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" * (cast_expression "(char *)(iVar11 + 0x55c1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x55c1)" ( (binary_expression "iVar11 + 0x55c1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }" { (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" if (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" * (cast_expression "(char *)(iVar11 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x72d)" ( (binary_expression "iVar11 + 0x72d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" { (if_statement "if (local_34 == (uint *)0x0) {\n        return;\n      }" if (parenthesized_expression "(local_34 == (uint *)0x0)" ( (binary_expression "local_34 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" else (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" { (expression_statement "local_34 = (uint *)((uint)local_34 | 1);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 1)" identifier = (cast_expression "(uint *)((uint)local_34 | 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 1)" ( (binary_expression "(uint)local_34 | 1" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;" if (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" ( (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" * (cast_expression "(char *)(iVar11 + 0x72d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x72d)" ( (binary_expression "iVar11 + 0x72d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009da89;" goto statement_identifier ;)) }))) (expression_statement "local_34 = (uint *)((uint)local_34 | 4);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 4)" identifier = (cast_expression "(uint *)((uint)local_34 | 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 | 4)" ( (binary_expression "(uint)local_34 | 4" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (labeled_statement "LAB_0009da89:\n  local_2c = 0x6ffffffb;" statement_identifier : (expression_statement "local_2c = 0x6ffffffb;" (assignment_expression "local_2c = 0x6ffffffb" identifier = number_literal) ;)) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" if (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" ( (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" identifier == (pointer_expression "*(uint **)(iVar3 + 0x34)" * (cast_expression "(uint **)(iVar3 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" { (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" identifier (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , (pointer_expression "&local_34" & identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" * identifier) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = 0x6ffffffb;" (assignment_expression "puVar8[2] = 0x6ffffffb" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xffffffff;" (assignment_expression "puVar8[3] = 0xffffffff" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" * (cast_expression "(uint **)(iVar3 + 0x30)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (return_statement "return;" return ;) (labeled_statement "LAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" statement_identifier : (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" { (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",__n)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) }))) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x117d)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x117d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }" { (expression_statement "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier = (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "local_4c = 0xf;" (assignment_expression "local_4c = 0xf" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_48 = 0xfffffffc;" (assignment_expression "local_48 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" { (expression_statement "puVar13 = &local_54;" (assignment_expression "puVar13 = &local_54" identifier = (pointer_expression "&local_54" & identifier)) ;) (goto_statement "goto LAB_0009de3d;" goto statement_identifier ;) })) (expression_statement "*puVar17 = local_54;" (assignment_expression "*puVar17 = local_54" (pointer_expression "*puVar17" * identifier) = identifier) ;) (expression_statement "puVar17[1] = local_50;" (assignment_expression "puVar17[1] = local_50" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0xf;" (assignment_expression "puVar17[2] = 0xf" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" else (compound_statement "{\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" { (expression_statement "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier = (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" identifier (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" ( (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" * (cast_expression "(undefined4 *)(iVar3 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "local_3c = 0x1d;" (assignment_expression "local_3c = 0x1d" identifier = number_literal) ;) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0xfffffffc;" (assignment_expression "local_38 = 0xfffffffc" identifier = number_literal) ;) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" ( (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" identifier == (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" * (cast_expression "(undefined4 **)(iVar3 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }" { (expression_statement "puVar13 = &local_44;" (assignment_expression "puVar13 = &local_44" identifier = (pointer_expression "&local_44" & identifier)) ;) (labeled_statement "LAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" statement_identifier : (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13)" identifier (argument_list "(iVar3 + 0x2c,puVar17,puVar13)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) , identifier , identifier ))) ;)) }) (else_clause "else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" else (compound_statement "{\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" { (expression_statement "*puVar17 = local_44;" (assignment_expression "*puVar17 = local_44" (pointer_expression "*puVar17" * identifier) = identifier) ;) (expression_statement "puVar17[1] = local_40;" (assignment_expression "puVar17[1] = local_40" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = 0x1d;" (assignment_expression "puVar17[2] = 0x1d" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" * (cast_expression "(undefined4 **)(iVar3 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }))) }))) (if_statement "if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }" if (parenthesized_expression "(local_34 != &local_2c)" ( (binary_expression "local_34 != &local_2c" identifier != (pointer_expression "&local_2c" & identifier)) )) (compound_statement "{\n    FUN_001e6db0(local_34);\n  }" { (expression_statement "FUN_001e6db0(local_34);" (call_expression "FUN_001e6db0(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (goto_statement "goto LAB_0009d5ce;" goto statement_identifier ;) (labeled_statement "LAB_0009d929:\n  bVar6 = true;" statement_identifier : (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;)) (goto_statement "goto LAB_0009d624;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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 (pointer_expression * IDENT) + LIT) )))) , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (labeled_statement 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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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) )))) , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })))) }) (else_clause else (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) }))) })))) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })))) }) (else_clause else (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 TYPE (abstract_pointer_declarator * (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 IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (labeled_statement 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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) }) (else_clause else (compound_statement { (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) })) })))) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement 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 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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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) )))) , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement 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 IDENT == 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 + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 { (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) (return_statement return ;) (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 { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , 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 TYPE (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) }) (else_clause else (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 , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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)) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_0009d170(int param_1,int param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" (primitive_type "void") (function_declarator "FUN_0009d170(int param_1,int param_2,undefined4 param_3)" (identifier "FUN_0009d170") (parameter_list "(int param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  uint uVar1;\n  byte bVar2;\n  int iVar3;\n  uint uVar4;\n  uint *puVar5;\n  bool bVar6;\n  char cVar7;\n  uint *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  size_t extraout_ECX;\n  size_t __n;\n  uint *puVar14;\n  size_t extraout_ECX_00;\n  uint *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int *piVar18;\n  int *local_60;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  uint *local_34;\n  uint local_30;\n  uint local_2c;\n  undefined4 local_28;\n  \n  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  if (iVar3 == 0) {\n    return;\n  }\n  local_60 = *(int **)(param_2 + 0xc);\n  if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }\nLAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);\n  if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }\n  puVar8 = *(uint **)(param_1 + 0x130);\n  iVar11 = iVar3 + 0x2c;\n  if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }\nLAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);\n  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }\nLAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }\n  bVar6 = false;\nLAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);\n  if (iVar11 == 0) goto LAB_0009db81;\n  if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }\n  if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }\n  if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }\n  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);\n  if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }\n  if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }\n  if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }\n  if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }\n  if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }\n  if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }\n  if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }\n  if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }\n  if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }\n  if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }\n  local_34 = (uint *)((uint)local_34 | 4);\nLAB_0009da89:\n  local_2c = 0x6ffffffb;\n  puVar8 = *(uint **)(iVar3 + 0x30);\n  local_28 = 0xffffffff;\n  if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }\n  *puVar8 = (uint)local_34;\n  puVar8[1] = local_30;\n  puVar8[2] = 0x6ffffffb;\n  puVar8[3] = 0xffffffff;\n  *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n  return;\nLAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }\n  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }\n  if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }\n  goto LAB_0009d5ce;\nLAB_0009d929:\n  bVar6 = true;\n  goto LAB_0009d624;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "size_t extraout_ECX;" (primitive_type "size_t") (identifier "extraout_ECX") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "size_t extraout_ECX_00;" (primitive_type "size_t") (identifier "extraout_ECX_00") (; ";")) (declaration "uint *puVar15;" (type_identifier "uint") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "int *local_60;" (primitive_type "int") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "uint *local_34;" (type_identifier "uint") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (if_statement "if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }\n  else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" (if "if") (parenthesized_expression "(((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0))" (( "(") (binary_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)" (parenthesized_expression "((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0))" (( "(") (binary_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||\n      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" (* "*") (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" (( "(") (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0xac")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 4) + 0xbc)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 4) + 0xbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 4) + 0xbc)" (( "(") (binary_expression "*(int *)(param_1 + 4) + 0xbc" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0xbc")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x184) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x184) != 0" (pointer_expression "*(int *)(param_1 + 0x184)" (* "*") (cast_expression "(int *)(param_1 + 0x184)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x184)" (( "(") (binary_expression "param_1 + 0x184" (identifier "param_1") (+ "+") (number_literal "0x184")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar12 = FUN_0009b0e0(param_1,2,6);\n    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" ({ "{") (expression_statement "uVar12 = FUN_0009b0e0(param_1,2,6);" (assignment_expression "uVar12 = FUN_0009b0e0(param_1,2,6)" (identifier "uVar12") (= "=") (call_expression "FUN_0009b0e0(param_1,2,6)" (identifier "FUN_0009b0e0") (argument_list "(param_1,2,6)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (number_literal "6") () ")")))) (; ";")) (expression_statement "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);" (call_expression "FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6)" (identifier "FUN_000f3190") (argument_list "(uVar12,*(undefined4 *)(param_1 + 0x184),6)" (( "(") (identifier "uVar12") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x184)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x184)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x184)" (( "(") (binary_expression "param_1 + 0x184" (identifier "param_1") (+ "+") (number_literal "0x184")) () ")")))) (, ",") (number_literal "6") () ")"))) (; ";")) (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x18c)" (* "*") (cast_expression "(int *)(param_1 + 0x18c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18c)" (( "(") (binary_expression "param_1 + 0x18c" (identifier "param_1") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" (else "else") (compound_statement "{\n    iVar3 = *(int *)(param_1 + 0x18c);\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(param_1 + 0x18c);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x18c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x18c)" (* "*") (cast_expression "(int *)(param_1 + 0x18c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18c)" (( "(") (binary_expression "param_1 + 0x18c" (identifier "param_1") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar3 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_60 = *(int **)(param_2 + 0xc);" (assignment_expression "local_60 = *(int **)(param_2 + 0xc)" (identifier "local_60") (= "=") (pointer_expression "*(int **)(param_2 + 0xc)" (* "*") (cast_expression "(int **)(param_2 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (local_60 != *(int **)(param_2 + 0x10)) {\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" (if "if") (parenthesized_expression "(local_60 != *(int **)(param_2 + 0x10))" (( "(") (binary_expression "local_60 != *(int **)(param_2 + 0x10)" (identifier "local_60") (!= "!=") (pointer_expression "*(int **)(param_2 + 0x10)" (* "*") (cast_expression "(int **)(param_2 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);\n  }" ({ "{") (do_statement "do {\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    } while (*(int **)(param_2 + 0x10) != local_60);" (do "do") (compound_statement "{\n      while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);\n      local_2c = 1;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      local_60 = local_60 + 1;\n    }" ({ "{") (while_statement "while( true ) {\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        bVar2 = *(byte *)(*local_60 + 0x2c);\n        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;\nLAB_0009d1fa:\n        local_60 = local_60 + 1;\n        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;\n      }" ({ "{") (expression_statement "bVar2 = *(byte *)(*local_60 + 0x2c);" (assignment_expression "bVar2 = *(byte *)(*local_60 + 0x2c)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(*local_60 + 0x2c)" (* "*") (cast_expression "(byte *)(*local_60 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_60 + 0x2c)" (( "(") (binary_expression "*local_60 + 0x2c" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;" (if "if") (parenthesized_expression "(((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0))" (( "(") (binary_expression "((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)" (parenthesized_expression "((bVar2 & 2) != 0)" (( "(") (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((bVar2 & 0x40) == 0)" (( "(") (binary_expression "(bVar2 & 0x40) == 0" (parenthesized_expression "(bVar2 & 0x40)" (( "(") (binary_expression "bVar2 & 0x40" (identifier "bVar2") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0009d1fa:\n        local_60 = local_60 + 1;" (statement_identifier "LAB_0009d1fa") (: ":") (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;" (if "if") (parenthesized_expression "(*(int **)(param_2 + 0x10) == local_60)" (( "(") (binary_expression "*(int **)(param_2 + 0x10) == local_60" (pointer_expression "*(int **)(param_2 + 0x10)" (* "*") (cast_expression "(int **)(param_2 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (identifier "local_60")) () ")")) (goto_statement "goto LAB_0009d268;" (goto "goto") (statement_identifier "LAB_0009d268") (; ";"))) (} "}"))) (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" (identifier "local_34") (= "=") (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),\n                                      *(undefined4 *)(*local_60 + 0x38),1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*local_60 + 0x38)" (* "*") (cast_expression "(undefined4 *)(*local_60 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_60 + 0x38)" (( "(") (binary_expression "*local_60 + 0x38" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (+ "+") (number_literal "0x38")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" (identifier "local_2c") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" (identifier "local_28") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar8 != *(uint **)(iVar3 + 0x34)) {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" (if "if") (parenthesized_expression "(puVar8 != *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar8 != *(uint **)(iVar3 + 0x34)" (identifier "puVar8") (!= "!=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 1;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n        goto LAB_0009d1fa;\n      }" ({ "{") (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar8[2] = 1;" (assignment_expression "puVar8[2] = 1" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_0009d1fa;" (goto "goto") (statement_identifier "LAB_0009d1fa") (; ";")) (} "}"))) (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar8") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "local_60 = local_60 + 1;" (assignment_expression "local_60 = local_60 + 1" (identifier "local_60") (= "=") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(param_2 + 0x10) != local_60)" (( "(") (binary_expression "*(int **)(param_2 + 0x10) != local_60" (pointer_expression "*(int **)(param_2 + 0x10)" (* "*") (cast_expression "(int **)(param_2 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (identifier "local_60")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0009d268:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" (statement_identifier "LAB_0009d268") (: ":") (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (if_statement "if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" (if "if") (parenthesized_expression "((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0))" (( "(") (binary_expression "(*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)" (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar11 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1a25)" (( "(") (binary_expression "iVar11 + 0x1a25" (identifier "iVar11") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar11 + 0x1aa4) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1aa4) != 0" (pointer_expression "*(int *)(iVar11 + 0x1aa4)" (* "*") (cast_expression "(int *)(iVar11 + 0x1aa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1aa4)" (( "(") (binary_expression "iVar11 + 0x1aa4" (identifier "iVar11") (+ "+") (number_literal "0x1aa4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);\n    local_2c = 0xe;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" ({ "{") (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" (identifier "local_34") (= "=") (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (pointer_expression "*(int *)(iVar11 + 0x1aa4)" (* "*") (cast_expression "(int *)(iVar11 + 0x1aa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1aa4)" (( "(") (binary_expression "iVar11 + 0x1aa4" (identifier "iVar11") (+ "+") (number_literal "0x1aa4")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_2c = 0xe;" (assignment_expression "local_2c = 0xe" (identifier "local_2c") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" (identifier "local_28") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" (if "if") (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" (identifier "puVar8") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar8") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0xe;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" ({ "{") (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar8[2] = 0xe;" (assignment_expression "puVar8[2] = 0xe" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xe")) (; ";")) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (} "}"))) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" (identifier "puVar8") (= "=") (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" (identifier "FUN_00179ab0") (argument_list "(param_3,*(undefined4 *)(iVar11 + 0x1f20),0)" (( "(") (identifier "param_3") (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x1f20)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1f20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1f20)" (( "(") (binary_expression "iVar11 + 0x1f20" (identifier "iVar11") (+ "+") (number_literal "0x1f20")) () ")")))) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(puVar8 != (uint *)0x0)" (( "(") (binary_expression "puVar8 != (uint *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }\n    }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2b)" (( "(") (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }\n      }" ({ "{") (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" (identifier "cVar7") (= "=") (call_expression "FUN_00177470(puVar8[3])" (identifier "FUN_00177470") (argument_list "(puVar8[3])" (( "(") (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;\n          goto LAB_0009dd61;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009dd08;" (goto "goto") (statement_identifier "LAB_0009dd08") (; ";"))) (goto_statement "goto LAB_0009dd61;" (goto "goto") (statement_identifier "LAB_0009dd61") (; ";")) (} "}"))) (} "}")) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" (else "else") (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" (if "if") (parenthesized_expression "(puVar8[3] != 0)" (( "(") (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;\n      }" ({ "{") (labeled_statement "LAB_0009dd61:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" (statement_identifier "LAB_0009dd61") (: ":") (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;" (if "if") (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" (* "*") (cast_expression "(byte *)(puVar8[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8[2] + 0x2c)" (( "(") (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009dd08;" (goto "goto") (statement_identifier "LAB_0009dd08") (; ";")))) (} "}"))))) (} "}")) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (else "else") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_0009dd08:\n      local_2c = 0xc;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" ({ "{") (labeled_statement "LAB_0009dd08:\n      local_2c = 0xc;" (statement_identifier "LAB_0009dd08") (: ":") (expression_statement "local_2c = 0xc;" (assignment_expression "local_2c = 0xc" (identifier "local_2c") (= "=") (number_literal "0xc")) (; ";"))) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" (identifier "local_28") (= "=") (number_literal "0xfffffffd")) (; ";")) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" (identifier "local_34") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" (if "if") (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" (identifier "puVar10") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar10") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" (else "else") (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xc;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" ({ "{") (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8"))) (; ";")) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar10[2] = 0xc;" (assignment_expression "puVar10[2] = 0xc" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffd")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))))) (} "}"))) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (expression_statement "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);" (assignment_expression "puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" (identifier "puVar8") (= "=") (cast_expression "(uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" (identifier "FUN_00179ab0") (argument_list "(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0)" (( "(") (identifier "param_3") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" (* "*") (cast_expression "(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x1538)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x1538" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1538")) () ")")))) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar8 != (uint *)0x0) {\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(puVar8 != (uint *)0x0)" (( "(") (binary_expression "puVar8 != (uint *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }\n  }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }\n    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }\n    }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }\n      else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar8 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2b)" (( "(") (binary_expression "(int)puVar8 + 0x2b" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        cVar7 = FUN_00177470(puVar8[3]);\n        if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }\n      }" ({ "{") (expression_statement "cVar7 = FUN_00177470(puVar8[3]);" (assignment_expression "cVar7 = FUN_00177470(puVar8[3])" (identifier "cVar7") (= "=") (call_expression "FUN_00177470(puVar8[3])" (identifier "FUN_00177470") (argument_list "(puVar8[3])" (( "(") (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;\n          goto LAB_0009dd91;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009dcc0;" (goto "goto") (statement_identifier "LAB_0009dcc0") (; ";"))) (goto_statement "goto LAB_0009dd91;" (goto "goto") (statement_identifier "LAB_0009dd91") (; ";")) (} "}"))) (} "}")) (else_clause "else if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" (else "else") (if_statement "if (puVar8[3] != 0) {\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" (if "if") (parenthesized_expression "(puVar8[3] != 0)" (( "(") (binary_expression "puVar8[3] != 0" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;\n      }" ({ "{") (labeled_statement "LAB_0009dd91:\n        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" (statement_identifier "LAB_0009dd91") (: ":") (if_statement "if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;" (if "if") (parenthesized_expression "((*(byte *)(puVar8[2] + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar8[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(puVar8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar8[2] + 0x2c)" (* "*") (cast_expression "(byte *)(puVar8[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8[2] + 0x2c)" (( "(") (binary_expression "puVar8[2] + 0x2c" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009dcc0;" (goto "goto") (statement_identifier "LAB_0009dcc0") (; ";")))) (} "}"))))) (} "}")) (else_clause "else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (else "else") (if_statement "if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar8 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)puVar8 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x2a)" (( "(") (binary_expression "(int)puVar8 + 0x2a" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_0009dcc0:\n      local_2c = 0xd;\n      puVar10 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffd;\n      local_34 = puVar8;\n      if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }\n    }" ({ "{") (labeled_statement "LAB_0009dcc0:\n      local_2c = 0xd;" (statement_identifier "LAB_0009dcc0") (: ":") (expression_statement "local_2c = 0xd;" (assignment_expression "local_2c = 0xd" (identifier "local_2c") (= "=") (number_literal "0xd")) (; ";"))) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffd;" (assignment_expression "local_28 = 0xfffffffd" (identifier "local_28") (= "=") (number_literal "0xfffffffd")) (; ";")) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" (identifier "local_34") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }\n      else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" (if "if") (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" (identifier "puVar10") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n      }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar10") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" (else "else") (compound_statement "{\n        *puVar10 = (uint)puVar8;\n        puVar10[1] = local_30;\n        puVar10[2] = 0xd;\n        puVar10[3] = 0xfffffffd;\n        *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n      }" ({ "{") (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8"))) (; ";")) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar10[2] = 0xd;" (assignment_expression "puVar10[2] = 0xd" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xd")) (; ";")) (expression_statement "puVar10[3] = 0xfffffffd;" (assignment_expression "puVar10[3] = 0xfffffffd" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffd")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))))) (} "}"))) (expression_statement "puVar8 = *(uint **)(param_1 + 0x130);" (assignment_expression "puVar8 = *(uint **)(param_1 + 0x130)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(param_1 + 0x130)" (* "*") (cast_expression "(uint **)(param_1 + 0x130)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")"))))) (; ";")) (expression_statement "iVar11 = iVar3 + 0x2c;" (assignment_expression "iVar11 = iVar3 + 0x2c" (identifier "iVar11") (= "=") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c"))) (; ";")) (if_statement "if (puVar8 != *(uint **)(param_1 + 0x134)) {\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" (if "if") (parenthesized_expression "(puVar8 != *(uint **)(param_1 + 0x134))" (( "(") (binary_expression "puVar8 != *(uint **)(param_1 + 0x134)" (identifier "puVar8") (!= "!=") (pointer_expression "*(uint **)(param_1 + 0x134)" (* "*") (cast_expression "(uint **)(param_1 + 0x134)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x134)" (( "(") (binary_expression "param_1 + 0x134" (identifier "param_1") (+ "+") (number_literal "0x134")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);\n  }" ({ "{") (do_statement "do {\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    } while (*(uint **)(param_1 + 0x134) != puVar8);" (do "do") (compound_statement "{\n      while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }\n      if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }\n      local_28 = 0xfffffffe;\n      local_30 = 0;\n      if (puVar15 != puVar14) goto LAB_0009d43e;\n      local_34 = puVar10;\n      FUN_000a5aa0(iVar11,puVar15,&local_34);\nLAB_0009d3b9:\n      puVar8 = puVar8 + 1;\n    }" ({ "{") (while_statement "while( true ) {\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        puVar10 = (uint *)*puVar8;\n        uVar4 = puVar10[0x14];\n        if (uVar4 != 0xf) break;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x1a;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1c;\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }\nLAB_0009d43e:\n        local_28 = 0xfffffffe;\n        local_30 = 0;\n        *puVar15 = (uint)puVar10;\n        puVar8 = puVar8 + 1;\n        puVar15[1] = 0;\n        puVar15[2] = local_2c;\n        puVar15[3] = 0xfffffffe;\n        *(uint **)(iVar3 + 0x30) = puVar15 + 4;\n        local_34 = puVar10;\n        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;\n      }" ({ "{") (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" (identifier "puVar10") (= "=") (cast_expression "(uint *)*puVar8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "uVar4 = puVar10[0x14];" (assignment_expression "uVar4 = puVar10[0x14]" (identifier "uVar4") (= "=") (subscript_expression "puVar10[0x14]" (identifier "puVar10") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (if_statement "if (uVar4 != 0xf) break;" (if "if") (parenthesized_expression "(uVar4 != 0xf)" (( "(") (binary_expression "uVar4 != 0xf" (identifier "uVar4") (!= "!=") (number_literal "0xf")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" (identifier "puVar5") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_2c = 0x1a;" (assignment_expression "local_2c = 0x1a" (identifier "local_2c") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (if "if") (parenthesized_expression "(puVar5 == puVar14)" (( "(") (binary_expression "puVar5 == puVar14" (identifier "puVar5") (== "==") (identifier "puVar14")) () ")")) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" ({ "{") (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar11,puVar14,&local_34)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar14") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" (identifier "puVar10") (= "=") (cast_expression "(uint *)*puVar8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" (identifier "puVar15") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (else "else") (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x1a;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" ({ "{") (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10"))) (; ";")) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[2] = 0x1a;" (assignment_expression "puVar5[2] = 0x1a" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (} "}")))) (expression_statement "local_2c = 0x1c;" (assignment_expression "local_2c = 0x1c" (identifier "local_2c") (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" (identifier "local_28") (= "=") (number_literal "0xfffffffe")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar14 == puVar15) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" (if "if") (parenthesized_expression "(puVar14 == puVar15)" (( "(") (binary_expression "puVar14 == puVar15" (identifier "puVar14") (== "==") (identifier "puVar15")) () ")")) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          goto LAB_0009d3b9;\n        }" ({ "{") (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar11,puVar14,&local_34)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar14") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (goto_statement "goto LAB_0009d3b9;" (goto "goto") (statement_identifier "LAB_0009d3b9") (; ";")) (} "}"))) (labeled_statement "LAB_0009d43e:\n        local_28 = 0xfffffffe;" (statement_identifier "LAB_0009d43e") (: ":") (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" (identifier "local_28") (= "=") (number_literal "0xfffffffe")) (; ";"))) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar15 = (uint)puVar10;" (assignment_expression "*puVar15 = (uint)puVar10" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10"))) (; ";")) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15[2] = local_2c;" (assignment_expression "puVar15[2] = local_2c" (subscript_expression "puVar15[2]" (identifier "puVar15") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar15[3] = 0xfffffffe;" (assignment_expression "puVar15[3] = 0xfffffffe" (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffe")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;" (if "if") (parenthesized_expression "(*(uint **)(param_1 + 0x134) == puVar8)" (( "(") (binary_expression "*(uint **)(param_1 + 0x134) == puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" (* "*") (cast_expression "(uint **)(param_1 + 0x134)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x134)" (( "(") (binary_expression "param_1 + 0x134" (identifier "param_1") (+ "+") (number_literal "0x134")) () ")")))) (== "==") (identifier "puVar8")) () ")")) (goto_statement "goto LAB_0009d46a;" (goto "goto") (statement_identifier "LAB_0009d46a") (; ";"))) (} "}"))) (if_statement "if (uVar4 == 0x10) {\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }\n      else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" (if "if") (parenthesized_expression "(uVar4 == 0x10)" (( "(") (binary_expression "uVar4 == 0x10" (identifier "uVar4") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x20;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x21;\n      }" ({ "{") (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" (identifier "puVar5") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" (identifier "local_2c") (= "=") (number_literal "0x20")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (if "if") (parenthesized_expression "(puVar5 == puVar14)" (( "(") (binary_expression "puVar5 == puVar14" (identifier "puVar5") (== "==") (identifier "puVar14")) () ")")) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" ({ "{") (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar11,puVar14,&local_34)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar14") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" (identifier "puVar10") (= "=") (cast_expression "(uint *)*puVar8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" (identifier "puVar15") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (else "else") (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x20;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" ({ "{") (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10"))) (; ";")) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[2] = 0x20;" (assignment_expression "puVar5[2] = 0x20" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (} "}")))) (expression_statement "local_2c = 0x21;" (assignment_expression "local_2c = 0x21" (identifier "local_2c") (= "=") (number_literal "0x21")) (; ";")) (} "}")) (else_clause "else {\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" (else "else") (compound_statement "{\n        if (uVar4 != 0xe) goto LAB_0009d3b9;\n        puVar5 = *(uint **)(iVar3 + 0x30);\n        puVar14 = *(uint **)(iVar3 + 0x34);\n        local_2c = 0x19;\n        local_28 = 0;\n        local_30 = 0;\n        if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }\n        local_2c = 0x1b;\n      }" ({ "{") (if_statement "if (uVar4 != 0xe) goto LAB_0009d3b9;" (if "if") (parenthesized_expression "(uVar4 != 0xe)" (( "(") (binary_expression "uVar4 != 0xe" (identifier "uVar4") (!= "!=") (number_literal "0xe")) () ")")) (goto_statement "goto LAB_0009d3b9;" (goto "goto") (statement_identifier "LAB_0009d3b9") (; ";"))) (expression_statement "puVar5 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar5 = *(uint **)(iVar3 + 0x30)" (identifier "puVar5") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_2c = 0x19;" (assignment_expression "local_2c = 0x19" (identifier "local_2c") (= "=") (number_literal "0x19")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar5 == puVar14) {\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }\n        else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (if "if") (parenthesized_expression "(puVar5 == puVar14)" (( "(") (binary_expression "puVar5 == puVar14" (identifier "puVar5") (== "==") (identifier "puVar14")) () ")")) (compound_statement "{\n          local_34 = puVar10;\n          FUN_000a5aa0(iVar11,puVar14,&local_34);\n          puVar10 = (uint *)*puVar8;\n          puVar15 = *(uint **)(iVar3 + 0x30);\n          puVar14 = *(uint **)(iVar3 + 0x34);\n        }" ({ "{") (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "FUN_000a5aa0(iVar11,puVar14,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar14,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar11,puVar14,&local_34)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar14") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "puVar10 = (uint *)*puVar8;" (assignment_expression "puVar10 = (uint *)*puVar8" (identifier "puVar10") (= "=") (cast_expression "(uint *)*puVar8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "puVar15 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar15 = *(uint **)(iVar3 + 0x30)" (identifier "puVar15") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar14 = *(uint **)(iVar3 + 0x34);" (assignment_expression "puVar14 = *(uint **)(iVar3 + 0x34)" (identifier "puVar14") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" (else "else") (compound_statement "{\n          *puVar5 = (uint)puVar10;\n          puVar15 = puVar5 + 4;\n          puVar5[1] = 0;\n          puVar5[2] = 0x19;\n          puVar5[3] = 0;\n          *(uint **)(iVar3 + 0x30) = puVar15;\n        }" ({ "{") (expression_statement "*puVar5 = (uint)puVar10;" (assignment_expression "*puVar5 = (uint)puVar10" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10"))) (; ";")) (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[2] = 0x19;" (assignment_expression "puVar5[2] = 0x19" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x19")) (; ";")) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar15;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar15" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (} "}")))) (expression_statement "local_2c = 0x1b;" (assignment_expression "local_2c = 0x1b" (identifier "local_2c") (= "=") (number_literal "0x1b")) (; ";")) (} "}")))) (expression_statement "local_28 = 0xfffffffe;" (assignment_expression "local_28 = 0xfffffffe" (identifier "local_28") (= "=") (number_literal "0xfffffffe")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar15 != puVar14) goto LAB_0009d43e;" (if "if") (parenthesized_expression "(puVar15 != puVar14)" (( "(") (binary_expression "puVar15 != puVar14" (identifier "puVar15") (!= "!=") (identifier "puVar14")) () ")")) (goto_statement "goto LAB_0009d43e;" (goto "goto") (statement_identifier "LAB_0009d43e") (; ";"))) (expression_statement "local_34 = puVar10;" (assignment_expression "local_34 = puVar10" (identifier "local_34") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "FUN_000a5aa0(iVar11,puVar15,&local_34);" (call_expression "FUN_000a5aa0(iVar11,puVar15,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar11,puVar15,&local_34)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar15") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (labeled_statement "LAB_0009d3b9:\n      puVar8 = puVar8 + 1;" (statement_identifier "LAB_0009d3b9") (: ":") (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(uint **)(param_1 + 0x134) != puVar8)" (( "(") (binary_expression "*(uint **)(param_1 + 0x134) != puVar8" (pointer_expression "*(uint **)(param_1 + 0x134)" (* "*") (cast_expression "(uint **)(param_1 + 0x134)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x134)" (( "(") (binary_expression "param_1 + 0x134" (identifier "param_1") (+ "+") (number_literal "0x134")) () ")")))) (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0009d46a:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" (statement_identifier "LAB_0009d46a") (: ":") (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (expression_statement "puVar17 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar17 = *(undefined4 **)(iVar11 + 0x33d4)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x33d4)" (( "(") (binary_expression "iVar11 + 0x33d4" (identifier "iVar11") (+ "+") (number_literal "0x33d4")) () ")"))))) (; ";")) (if_statement "if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(puVar17 != *(undefined4 **)(iVar11 + 0x33d8))" (( "(") (binary_expression "puVar17 != *(undefined4 **)(iVar11 + 0x33d8)" (identifier "puVar17") (!= "!=") (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x33d8)" (( "(") (binary_expression "iVar11 + 0x33d8" (identifier "iVar11") (+ "+") (number_literal "0x33d8")) () ")"))))) () ")")) (compound_statement "{\n    local_30 = 0;\n    local_2c = local_2c & 0xffffff00;\n    local_34 = &local_2c;\n    do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );\n  }" ({ "{") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = local_2c & 0xffffff00;" (assignment_expression "local_2c = local_2c & 0xffffff00" (identifier "local_2c") (= "=") (binary_expression "local_2c & 0xffffff00" (identifier "local_2c") (& "&") (number_literal "0xffffff00"))) (; ";")) (expression_statement "local_34 = &local_2c;" (assignment_expression "local_34 = &local_2c" (identifier "local_34") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (do_statement "do {\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    } while( true );" (do "do") (compound_statement "{\n      uVar4 = local_30;\n      if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }\n      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\nLAB_0009d4d8:\n      puVar17 = puVar17 + 7;\n    }" ({ "{") (expression_statement "uVar4 = local_30;" (assignment_expression "uVar4 = local_30" (identifier "uVar4") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }\n      else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_001ee9c0(&local_34,puVar17);\n        __n = extraout_ECX;\n      }" ({ "{") (expression_statement "FUN_001ee9c0(&local_34,puVar17);" (call_expression "FUN_001ee9c0(&local_34,puVar17)" (identifier "FUN_001ee9c0") (argument_list "(&local_34,puVar17)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "puVar17") () ")"))) (; ";")) (expression_statement "__n = extraout_ECX;" (assignment_expression "__n = extraout_ECX" (identifier "__n") (= "=") (identifier "extraout_ECX")) (; ";")) (} "}")) (else_clause "else {\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" (else "else") (compound_statement "{\n        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);\n        if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }\n        uVar1 = uVar4 + 1;\n        uVar16 = 0xf;\n        if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }\n        if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }\n        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;\n        *(undefined1 *)((int)local_34 + uVar1) = 0;\n        local_30 = uVar1;\n                    \n        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);\n        __n = extraout_ECX_00;\n      }" ({ "{") (expression_statement "puVar13 = *(undefined4 **)(iVar11 + 0x33d4);" (assignment_expression "puVar13 = *(undefined4 **)(iVar11 + 0x33d4)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(iVar11 + 0x33d4)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x33d4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x33d4)" (( "(") (binary_expression "iVar11 + 0x33d4" (identifier "iVar11") (+ "+") (number_literal "0x33d4")) () ")"))))) (; ";")) (if_statement "if (puVar13 != puVar17) {\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" (if "if") (parenthesized_expression "(puVar13 != puVar17)" (( "(") (binary_expression "puVar13 != puVar17" (identifier "puVar13") (!= "!=") (identifier "puVar17")) () ")")) (compound_statement "{\n          __n = puVar17[1];\n          do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);\n        }" ({ "{") (expression_statement "__n = puVar17[1];" (assignment_expression "__n = puVar17[1]" (identifier "__n") (= "=") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (do_statement "do {\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          } while (puVar17 != puVar13);" (do "do") (compound_statement "{\n            if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }\n            puVar13 = puVar13 + 7;\n          }" ({ "{") (if_statement "if ((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))\n            {\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" (if "if") (parenthesized_expression "((puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))" (( "(") (binary_expression "(puVar13[1] == __n) &&\n               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" (parenthesized_expression "(puVar13[1] == __n)" (( "(") (binary_expression "puVar13[1] == __n" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "__n")) () ")")) (&& "&&") (parenthesized_expression "((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)))" (( "(") (parenthesized_expression "(__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))" (( "(") (binary_expression "__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" (binary_expression "__n == 0" (identifier "__n") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0)" (( "(") (comma_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0" (assignment_expression "iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n)" (identifier "iVar9") (= "=") (call_expression "memcmp((void *)*puVar13,(void *)*puVar17,__n)" (identifier "memcmp") (argument_list "((void *)*puVar13,(void *)*puVar17,__n)" (( "(") (cast_expression "(void *)*puVar13" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (, ",") (cast_expression "(void *)*puVar17" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17"))) (, ",") (identifier "__n") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }\n              break;\n            }" ({ "{") (if_statement "if (puVar17 != puVar13) {\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" (if "if") (parenthesized_expression "(puVar17 != puVar13)" (( "(") (binary_expression "puVar17 != puVar13" (identifier "puVar17") (!= "!=") (identifier "puVar13")) () ")")) (compound_statement "{\n                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;\n                goto LAB_0009d4d8;\n              }" ({ "{") (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" (if "if") (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" (( "(") (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x33d8)" (( "(") (binary_expression "iVar11 + 0x33d8" (identifier "iVar11") (+ "+") (number_literal "0x33d8")) () ")")))) (== "==") (binary_expression "puVar17 + 7" (identifier "puVar17") (+ "+") (number_literal "7"))) () ")")) (goto_statement "goto LAB_0009d54c;" (goto "goto") (statement_identifier "LAB_0009d54c") (; ";"))) (goto_statement "goto LAB_0009d4d8;" (goto "goto") (statement_identifier "LAB_0009d4d8") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "puVar13 = puVar13 + 7;" (assignment_expression "puVar13 = puVar13 + 7" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 7" (identifier "puVar13") (+ "+") (number_literal "7"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar17 != puVar13)" (( "(") (binary_expression "puVar17 != puVar13" (identifier "puVar17") (!= "!=") (identifier "puVar13")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar1 = uVar4 + 1;" (assignment_expression "uVar1 = uVar4 + 1" (identifier "uVar1") (= "=") (binary_expression "uVar4 + 1" (identifier "uVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = 0xf;" (assignment_expression "uVar16 = 0xf" (identifier "uVar16") (= "=") (number_literal "0xf")) (; ";")) (if_statement "if (local_34 != &local_2c) {\n          uVar16 = local_2c;\n        }" (if "if") (parenthesized_expression "(local_34 != &local_2c)" (( "(") (binary_expression "local_34 != &local_2c" (identifier "local_34") (!= "!=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) () ")")) (compound_statement "{\n          uVar16 = local_2c;\n        }" ({ "{") (expression_statement "uVar16 = local_2c;" (assignment_expression "uVar16 = local_2c" (identifier "uVar16") (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (if_statement "if (uVar16 < uVar1) {\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" (if "if") (parenthesized_expression "(uVar16 < uVar1)" (( "(") (binary_expression "uVar16 < uVar1" (identifier "uVar16") (< "<") (identifier "uVar1")) () ")")) (compound_statement "{\n                    \n          FUN_001eeaa0(&local_34,uVar4,0,0,1);\n        }" ({ "{") (expression_statement "FUN_001eeaa0(&local_34,uVar4,0,0,1);" (call_expression "FUN_001eeaa0(&local_34,uVar4,0,0,1)" (identifier "FUN_001eeaa0") (argument_list "(&local_34,uVar4,0,0,1)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "uVar4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)local_34 + uVar4) = 0x3a;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar4) = 0x3a" (pointer_expression "*(undefined1 *)((int)local_34 + uVar4)" (* "*") (cast_expression "(undefined1 *)((int)local_34 + uVar4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_34 + uVar4)" (( "(") (binary_expression "(int)local_34 + uVar4" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (identifier "uVar4")) () ")")))) (= "=") (number_literal "0x3a")) (; ";")) (expression_statement "*(undefined1 *)((int)local_34 + uVar1) = 0;" (assignment_expression "*(undefined1 *)((int)local_34 + uVar1) = 0" (pointer_expression "*(undefined1 *)((int)local_34 + uVar1)" (* "*") (cast_expression "(undefined1 *)((int)local_34 + uVar1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_34 + uVar1)" (( "(") (binary_expression "(int)local_34 + uVar1" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (identifier "uVar1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = uVar1;" (assignment_expression "local_30 = uVar1" (identifier "local_30") (= "=") (identifier "uVar1")) (; ";")) (expression_statement "FUN_001f05c0(&local_34,*puVar17,puVar17[1]);" (call_expression "FUN_001f05c0(&local_34,*puVar17,puVar17[1])" (identifier "FUN_001f05c0") (argument_list "(&local_34,*puVar17,puVar17[1])" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (, ",") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "__n = extraout_ECX_00;" (assignment_expression "__n = extraout_ECX_00" (identifier "__n") (= "=") (identifier "extraout_ECX_00")) (; ";")) (} "}")))) (if_statement "if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;" (if "if") (parenthesized_expression "(*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7)" (( "(") (binary_expression "*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7" (pointer_expression "*(undefined4 **)(iVar11 + 0x33d8)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x33d8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x33d8)" (( "(") (binary_expression "iVar11 + 0x33d8" (identifier "iVar11") (+ "+") (number_literal "0x33d8")) () ")")))) (== "==") (binary_expression "puVar17 + 7" (identifier "puVar17") (+ "+") (number_literal "7"))) () ")")) (goto_statement "goto LAB_0009d54c;" (goto "goto") (statement_identifier "LAB_0009d54c") (; ";"))) (labeled_statement "LAB_0009d4d8:\n      puVar17 = puVar17 + 7;" (statement_identifier "LAB_0009d4d8") (: ":") (expression_statement "puVar17 = puVar17 + 7;" (assignment_expression "puVar17 = puVar17 + 7" (identifier "puVar17") (= "=") (binary_expression "puVar17 + 7" (identifier "puVar17") (+ "+") (number_literal "7"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0009d5ce:\n  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" (statement_identifier "LAB_0009d5ce") (: ":") (if_statement "if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }\n  else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 4) + 0xac)" (* "*") (cast_expression "(char *)(*(int *)(param_1 + 4) + 0xac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 4) + 0xac)" (( "(") (binary_expression "*(int *)(param_1 + 4) + 0xac" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0xac")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    piVar18 = *(int **)(param_1 + 0x124);\n    if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }\n  }" ({ "{") (expression_statement "piVar18 = *(int **)(param_1 + 0x124);" (assignment_expression "piVar18 = *(int **)(param_1 + 0x124)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(param_1 + 0x124)" (* "*") (cast_expression "(int **)(param_1 + 0x124)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")"))))) (; ";")) (if_statement "if (piVar18 != *(int **)(param_1 + 0x128)) {\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" (if "if") (parenthesized_expression "(piVar18 != *(int **)(param_1 + 0x128))" (( "(") (binary_expression "piVar18 != *(int **)(param_1 + 0x128)" (identifier "piVar18") (!= "!=") (pointer_expression "*(int **)(param_1 + 0x128)" (* "*") (cast_expression "(int **)(param_1 + 0x128)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x128)" (( "(") (binary_expression "param_1 + 0x128" (identifier "param_1") (+ "+") (number_literal "0x128")) () ")"))))) () ")")) (compound_statement "{\n      do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);\n    }" ({ "{") (do_statement "do {\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      } while (*(int **)(param_1 + 0x128) != piVar18);" (do "do") (compound_statement "{\n        iVar11 = *piVar18;\n        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;\n        piVar18 = piVar18 + 1;\n      }" ({ "{") (expression_statement "iVar11 = *piVar18;" (assignment_expression "iVar11 = *piVar18" (identifier "iVar11") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (if_statement "if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;" (if "if") (parenthesized_expression "(((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'))" (( "(") (binary_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&\n           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" (parenthesized_expression "((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0))" (( "(") (binary_expression "(*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x194) == 1)" (( "(") (binary_expression "*(int *)(iVar11 + 0x194) == 1" (pointer_expression "*(int *)(iVar11 + 0x194)" (* "*") (cast_expression "(int *)(iVar11 + 0x194)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x194)" (( "(") (binary_expression "iVar11 + 0x194" (identifier "iVar11") (+ "+") (number_literal "0x194")) () ")")))) (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(iVar11 + 0x198) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar11 + 0x198) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x198) & 2)" (( "(") (binary_expression "*(byte *)(iVar11 + 0x198) & 2" (pointer_expression "*(byte *)(iVar11 + 0x198)" (* "*") (cast_expression "(byte *)(iVar11 + 0x198)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x198)" (( "(") (binary_expression "iVar11 + 0x198" (identifier "iVar11") (+ "+") (number_literal "0x198")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')" (( "(") (comma_expression "cVar7 = FUN_000eff40(iVar11), cVar7 != '\0'" (assignment_expression "cVar7 = FUN_000eff40(iVar11)" (identifier "cVar7") (= "=") (call_expression "FUN_000eff40(iVar11)" (identifier "FUN_000eff40") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")")))) (, ",") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_0009d929;" (goto "goto") (statement_identifier "LAB_0009d929") (; ";"))) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" (identifier "piVar18") (= "=") (binary_expression "piVar18 + 1" (identifier "piVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(param_1 + 0x128) != piVar18)" (( "(") (binary_expression "*(int **)(param_1 + 0x128) != piVar18" (pointer_expression "*(int **)(param_1 + 0x128)" (* "*") (cast_expression "(int **)(param_1 + 0x128)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x128)" (( "(") (binary_expression "param_1 + 0x128" (identifier "param_1") (+ "+") (number_literal "0x128")) () ")")))) (!= "!=") (identifier "piVar18")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" (else "else") (compound_statement "{\n    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }\n  }" ({ "{") (for_statement "for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);\n        piVar18 = piVar18 + 1) {\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" (for "for") (( "(") (assignment_expression "piVar18 = *(int **)(param_1 + 0x130)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(param_1 + 0x130)" (* "*") (cast_expression "(int **)(param_1 + 0x130)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")"))))) (; ";") (binary_expression "piVar18 != *(int **)(param_1 + 0x134)" (identifier "piVar18") (!= "!=") (pointer_expression "*(int **)(param_1 + 0x134)" (* "*") (cast_expression "(int **)(param_1 + 0x134)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x134)" (( "(") (binary_expression "param_1 + 0x134" (identifier "param_1") (+ "+") (number_literal "0x134")) () ")"))))) (; ";") (assignment_expression "piVar18 = piVar18 + 1" (identifier "piVar18") (= "=") (binary_expression "piVar18 + 1" (identifier "piVar18") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n      uVar4 = *(uint *)(*piVar18 + 0x54);\n      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;\n    }" ({ "{") (expression_statement "uVar4 = *(uint *)(*piVar18 + 0x54);" (assignment_expression "uVar4 = *(uint *)(*piVar18 + 0x54)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(*piVar18 + 0x54)" (* "*") (cast_expression "(uint *)(*piVar18 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar18 + 0x54)" (( "(") (binary_expression "*piVar18 + 0x54" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (if_statement "if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))\n      goto LAB_0009d929;" (if "if") (parenthesized_expression "((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))" (( "(") (binary_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" (parenthesized_expression "(((uVar4 & 2) != 0) && ((uVar4 & 1) == 0))" (( "(") (binary_expression "((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)" (parenthesized_expression "((uVar4 & 2) != 0)" (( "(") (binary_expression "(uVar4 & 2) != 0" (parenthesized_expression "(uVar4 & 2)" (( "(") (binary_expression "uVar4 & 2" (identifier "uVar4") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uVar4 & 1) == 0)" (( "(") (binary_expression "(uVar4 & 1) == 0" (parenthesized_expression "(uVar4 & 1)" (( "(") (binary_expression "uVar4 & 1" (identifier "uVar4") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10) != 0" (parenthesized_expression "(*(byte *)(*piVar18 + 0x1c) & 0x10)" (( "(") (binary_expression "*(byte *)(*piVar18 + 0x1c) & 0x10" (pointer_expression "*(byte *)(*piVar18 + 0x1c)" (* "*") (cast_expression "(byte *)(*piVar18 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar18 + 0x1c)" (( "(") (binary_expression "*piVar18 + 0x1c" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009d929;" (goto "goto") (statement_identifier "LAB_0009d929") (; ";"))) (} "}"))) (} "}"))))) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_0009d624:\n  iVar11 = *(int *)(DAT_0038f378 + 8);" (statement_identifier "LAB_0009d624") (: ":") (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (if_statement "if (*(int *)(iVar11 + 0x1478) != 0) {\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1478) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1478) != 0" (pointer_expression "*(int *)(iVar11 + 0x1478)" (* "*") (cast_expression "(int *)(iVar11 + 0x1478)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1478)" (( "(") (binary_expression "iVar11 + 0x1478" (identifier "iVar11") (+ "+") (number_literal "0x1478")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);\n    local_2c = 0x7fffffff;\n    puVar8 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xfffffffc;\n    if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n  }" ({ "{") (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" (identifier "local_34") (= "=") (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (pointer_expression "*(int *)(iVar11 + 0x1478)" (* "*") (cast_expression "(int *)(iVar11 + 0x1478)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1478)" (( "(") (binary_expression "iVar11 + 0x1478" (identifier "iVar11") (+ "+") (number_literal "0x1478")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_2c = 0x7fffffff;" (assignment_expression "local_2c = 0x7fffffff" (identifier "local_2c") (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" (identifier "local_28") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }\n    else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" (if "if") (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" (identifier "puVar8") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar8") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar8 = (uint)local_34;\n      puVar8[1] = local_30;\n      puVar8[2] = 0x7fffffff;\n      puVar8[3] = 0xfffffffc;\n      *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n    }" ({ "{") (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar8[2] = 0x7fffffff;" (assignment_expression "puVar8[2] = 0x7fffffff" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (} "}"))) (if_statement "if ((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" (if "if") (parenthesized_expression "((*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0))" (( "(") (binary_expression "(*(int *)(iVar11 + 0x1428) != 0) &&\n     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" (parenthesized_expression "(*(int *)(iVar11 + 0x1428) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1428) != 0" (pointer_expression "*(int *)(iVar11 + 0x1428)" (* "*") (cast_expression "(int *)(iVar11 + 0x1428)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1428)" (( "(") (binary_expression "iVar11 + 0x1428" (identifier "iVar11") (+ "+") (number_literal "0x1428")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)" (( "(") (comma_expression "piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0" (assignment_expression "piVar18 = *(int **)(iVar11 + 0x1424)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(iVar11 + 0x1424)" (* "*") (cast_expression "(int **)(iVar11 + 0x1424)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x1424)" (( "(") (binary_expression "iVar11 + 0x1424" (identifier "iVar11") (+ "+") (number_literal "0x1424")) () ")"))))) (, ",") (binary_expression "piVar18 != (int *)0x0" (identifier "piVar18") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);\n  }" ({ "{") (do_statement "do {\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    } while (piVar18 != (int *)0x0);" (do "do") (compound_statement "{\n      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);\n      local_2c = 0x7ffffffd;\n      puVar8 = *(uint **)(iVar3 + 0x30);\n      local_28 = 0xfffffffc;\n      if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }\n      piVar18 = (int *)*piVar18;\n      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    }" ({ "{") (expression_statement "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);" (assignment_expression "local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" (identifier "local_34") (= "=") (cast_expression "(uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_2c = 0x7ffffffd;" (assignment_expression "local_2c = 0x7ffffffd" (identifier "local_2c") (= "=") (number_literal "0x7ffffffd")) (; ";")) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xfffffffc;" (assignment_expression "local_28 = 0xfffffffc" (identifier "local_28") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }\n      else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" (if "if") (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" (identifier "puVar8") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n      }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar8") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" (else "else") (compound_statement "{\n        *puVar8 = (uint)local_34;\n        puVar8[1] = local_30;\n        puVar8[2] = 0x7ffffffd;\n        puVar8[3] = 0xfffffffc;\n        *(uint **)(iVar3 + 0x30) = puVar8 + 4;\n      }" ({ "{") (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar8[2] = 0x7ffffffd;" (assignment_expression "puVar8[2] = 0x7ffffffd" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7ffffffd")) (; ";")) (expression_statement "puVar8[3] = 0xfffffffc;" (assignment_expression "puVar8[3] = 0xfffffffc" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "piVar18 = (int *)*piVar18;" (assignment_expression "piVar18 = (int *)*piVar18" (identifier "piVar18") (= "=") (cast_expression "(int *)*piVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar18" (* "*") (identifier "piVar18")))) (; ";")) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(piVar18 != (int *)0x0)" (( "(") (binary_expression "piVar18 != (int *)0x0" (identifier "piVar18") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (bVar6) {\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }\n  else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" (if "if") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")")) (compound_statement "{\n    local_2c = 0x16;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) goto LAB_0009db81;\n    if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }\n    cVar7 = *(char *)(iVar11 + 0x1a25);\n    puVar8 = (uint *)0x4;\n    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;\n    if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }\n  }" ({ "{") (expression_statement "local_2c = 0x16;" (assignment_expression "local_2c = 0x16" (identifier "local_2c") (= "=") (number_literal "0x16")) (; ";")) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" (identifier "local_28") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" (identifier "local_34") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (if "if") (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" (identifier "puVar17") (== "==") (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar17") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x16;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" ({ "{") (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar17[2] = 0x16;" (assignment_expression "puVar17[2] = 0x16" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x16")) (; ";")) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (if_statement "if (*(char *)(iVar11 + 0x577d) != '\0') {\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x577d) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x577d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x577d)" (* "*") (cast_expression "(char *)(iVar11 + 0x577d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x577d)" (( "(") (binary_expression "iVar11 + 0x577d" (identifier "iVar11") (+ "+") (number_literal "0x577d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar12 = gettext("read-only segment has dynamic relocations");\n      FUN_000654b0(uVar12);\nLAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);\n      if (iVar11 == 0) goto LAB_0009db81;\n      cVar7 = *(char *)(iVar11 + 0x1a25);\n      puVar8 = (uint *)0x4;\n      goto LAB_0009d9a3;\n    }" ({ "{") (expression_statement "uVar12 = gettext("read-only segment has dynamic relocations");" (assignment_expression "uVar12 = gettext("read-only segment has dynamic relocations")" (identifier "uVar12") (= "=") (call_expression "gettext("read-only segment has dynamic relocations")" (identifier "gettext") (argument_list "("read-only segment has dynamic relocations")" (( "(") (string_literal ""read-only segment has dynamic relocations"" (" """) (string_content "read-only segment has dynamic relocations") (" """)) () ")")))) (; ";")) (expression_statement "FUN_000654b0(uVar12);" (call_expression "FUN_000654b0(uVar12)" (identifier "FUN_000654b0") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (labeled_statement "LAB_0009dde4:\n      iVar11 = *(int *)(DAT_0038f378 + 8);" (statement_identifier "LAB_0009dde4") (: ":") (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (iVar11 == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" (identifier "cVar7") (= "=") (pointer_expression "*(char *)(iVar11 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar11 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1a25)" (( "(") (binary_expression "iVar11 + 0x1a25" (identifier "iVar11") (+ "+") (number_literal "0x1a25")) () ")"))))) (; ";")) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" (identifier "puVar8") (= "=") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (goto_statement "goto LAB_0009d9a3;" (goto "goto") (statement_identifier "LAB_0009d9a3") (; ";")) (} "}"))) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" (identifier "cVar7") (= "=") (pointer_expression "*(char *)(iVar11 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar11 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1a25)" (( "(") (binary_expression "iVar11 + 0x1a25" (identifier "iVar11") (+ "+") (number_literal "0x1a25")) () ")"))))) (; ";")) (expression_statement "puVar8 = (uint *)0x4;" (assignment_expression "puVar8 = (uint *)0x4" (identifier "puVar8") (= "=") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (if_statement "if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x4749) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x4749) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x4749)" (* "*") (cast_expression "(char *)(iVar11 + 0x4749)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x4749)" (( "(") (binary_expression "iVar11 + 0x4749" (identifier "iVar11") (+ "+") (number_literal "0x4749")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009d9a3;" (goto "goto") (statement_identifier "LAB_0009d9a3") (; ";"))) (if_statement "if (cVar7 != '\0') {\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar12 = gettext("shared library text segment is not shareable");\n      FUN_000654e0(uVar12);\n      goto LAB_0009dde4;\n    }" ({ "{") (expression_statement "uVar12 = gettext("shared library text segment is not shareable");" (assignment_expression "uVar12 = gettext("shared library text segment is not shareable")" (identifier "uVar12") (= "=") (call_expression "gettext("shared library text segment is not shareable")" (identifier "gettext") (argument_list "("shared library text segment is not shareable")" (( "(") (string_literal ""shared library text segment is not shareable"" (" """) (string_content "shared library text segment is not shareable") (" """)) () ")")))) (; ";")) (expression_statement "FUN_000654e0(uVar12);" (call_expression "FUN_000654e0(uVar12)" (identifier "FUN_000654e0") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0009dde4;" (goto "goto") (statement_identifier "LAB_0009dde4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" (else "else") (compound_statement "{\n    puVar8 = (uint *)0x0;\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    cVar7 = *(char *)(iVar11 + 0x1a25);\nLAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }\n  }" ({ "{") (expression_statement "puVar8 = (uint *)0x0;" (assignment_expression "puVar8 = (uint *)0x0" (identifier "puVar8") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "cVar7 = *(char *)(iVar11 + 0x1a25);" (assignment_expression "cVar7 = *(char *)(iVar11 + 0x1a25)" (identifier "cVar7") (= "=") (pointer_expression "*(char *)(iVar11 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar11 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1a25)" (( "(") (binary_expression "iVar11 + 0x1a25" (identifier "iVar11") (+ "+") (number_literal "0x1a25")) () ")"))))) (; ";")) (labeled_statement "LAB_0009d9a3:\n    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" (statement_identifier "LAB_0009d9a3") (: ":") (if_statement "if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" (if "if") (parenthesized_expression "((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0'))" (( "(") (binary_expression "(cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')" (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x1c9) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1c9) != '\0'" (pointer_expression "*(char *)(param_1 + 0x1c9)" (* "*") (cast_expression "(char *)(param_1 + 0x1c9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c9)" (( "(") (binary_expression "param_1 + 0x1c9" (identifier "param_1") (+ "+") (number_literal "0x1c9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      puVar8 = (uint *)((uint)puVar8 | 0x10);\n    }" ({ "{") (expression_statement "puVar8 = (uint *)((uint)puVar8 | 0x10);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 0x10)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((uint)puVar8 | 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar8 | 0x10)" (( "(") (binary_expression "(uint)puVar8 | 0x10" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (| "|") (number_literal "0x10")) () ")")))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" (* "*") (cast_expression "(char *)(iVar11 + 0x563d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x563d)" (( "(") (binary_expression "iVar11 + 0x563d" (identifier "iVar11") (+ "+") (number_literal "0x563d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 1);\n  }" ({ "{") (expression_statement "puVar8 = (uint *)((uint)puVar8 | 1);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 1)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((uint)puVar8 | 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar8 | 1)" (( "(") (binary_expression "(uint)puVar8 | 1" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (| "|") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }\n  else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" (if "if") (parenthesized_expression "((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0'))" (( "(") (binary_expression "(*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')" (parenthesized_expression "(*(char *)(iVar11 + 0x825) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x825)" (* "*") (cast_expression "(char *)(iVar11 + 0x825)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x825)" (( "(") (binary_expression "iVar11 + 0x825" (identifier "iVar11") (+ "+") (number_literal "0x825")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar11 + 0x5a0c) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x5a0c) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5a0c)" (* "*") (cast_expression "(char *)(iVar11 + 0x5a0c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x5a0c)" (( "(") (binary_expression "iVar11 + 0x5a0c" (identifier "iVar11") (+ "+") (number_literal "0x5a0c")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }\n    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;\n  }" ({ "{") (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar11 + 0x55c1) != '\0') {\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x55c1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" (* "*") (cast_expression "(char *)(iVar11 + 0x55c1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x55c1)" (( "(") (binary_expression "iVar11 + 0x55c1" (identifier "iVar11") (+ "+") (number_literal "0x55c1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);\n      goto LAB_0009db3a;\n    }" ({ "{") (labeled_statement "LAB_0009db37:\n      puVar8 = (uint *)((uint)puVar8 | 8);" (statement_identifier "LAB_0009db37") (: ":") (expression_statement "puVar8 = (uint *)((uint)puVar8 | 8);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 8)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((uint)puVar8 | 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar8 | 8)" (( "(") (binary_expression "(uint)puVar8 | 8" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (| "|") (number_literal "8")) () ")")))) (; ";"))) (goto_statement "goto LAB_0009db3a;" (goto "goto") (statement_identifier "LAB_0009db3a") (; ";")) (} "}"))) (if_statement "if (puVar8 != (uint *)0x0) goto LAB_0009db3a;" (if "if") (parenthesized_expression "(puVar8 != (uint *)0x0)" (( "(") (binary_expression "puVar8 != (uint *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009db3a;" (goto "goto") (statement_identifier "LAB_0009db3a") (; ";"))) (} "}")) (else_clause "else {\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" (else "else") (compound_statement "{\n    puVar8 = (uint *)((uint)puVar8 | 2);\n    local_2c = 0x10;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = (uint *)0x0;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;\n    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;\nLAB_0009db3a:\n    local_2c = 0x1e;\n    puVar10 = *(uint **)(iVar3 + 0x30);\n    local_28 = 0xffffffff;\n    local_34 = puVar8;\n    if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }\n    iVar11 = *(int *)(DAT_0038f378 + 8);\n    if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }\n  }" ({ "{") (expression_statement "puVar8 = (uint *)((uint)puVar8 | 2);" (assignment_expression "puVar8 = (uint *)((uint)puVar8 | 2)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((uint)puVar8 | 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar8 | 2)" (( "(") (binary_expression "(uint)puVar8 | 2" (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8")) (| "|") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_2c = 0x10;" (assignment_expression "local_2c = 0x10" (identifier "local_2c") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" (identifier "local_28") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = (uint *)0x0;" (assignment_expression "local_34 = (uint *)0x0" (identifier "local_34") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }\n    else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (if "if") (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" (identifier "puVar17") (== "==") (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);\n    }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar17,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar17") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar17 = 0;\n      puVar17[1] = local_30;\n      puVar17[2] = 0x10;\n      puVar17[3] = 0xffffffff;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" ({ "{") (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17[1] = local_30;" (assignment_expression "puVar17[1] = local_30" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar17[2] = 0x10;" (assignment_expression "puVar17[2] = 0x10" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "puVar17[3] = 0xffffffff;" (assignment_expression "puVar17[3] = 0xffffffff" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;" (if "if") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009db81;" (goto "goto") (statement_identifier "LAB_0009db81") (; ";"))) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" (* "*") (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x55c1)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x55c1" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x55c1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009db37;" (goto "goto") (statement_identifier "LAB_0009db37") (; ";"))) (labeled_statement "LAB_0009db3a:\n    local_2c = 0x1e;" (statement_identifier "LAB_0009db3a") (: ":") (expression_statement "local_2c = 0x1e;" (assignment_expression "local_2c = 0x1e" (identifier "local_2c") (= "=") (number_literal "0x1e")) (; ";"))) (expression_statement "puVar10 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar10 = *(uint **)(iVar3 + 0x30)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" (identifier "local_28") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = puVar8;" (assignment_expression "local_34 = puVar8" (identifier "local_34") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (puVar10 == *(uint **)(iVar3 + 0x34)) {\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }\n    else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" (if "if") (parenthesized_expression "(puVar10 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar10 == *(uint **)(iVar3 + 0x34)" (identifier "puVar10") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);\n    }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar10,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar10") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar10 = (uint)puVar8;\n      puVar10[1] = local_30;\n      puVar10[2] = 0x1e;\n      puVar10[3] = 0xffffffff;\n      *(uint **)(iVar3 + 0x30) = puVar10 + 4;\n    }" ({ "{") (expression_statement "*puVar10 = (uint)puVar8;" (assignment_expression "*puVar10 = (uint)puVar8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (cast_expression "(uint)puVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar8"))) (; ";")) (expression_statement "puVar10[1] = local_30;" (assignment_expression "puVar10[1] = local_30" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar10[2] = 0x1e;" (assignment_expression "puVar10[2] = 0x1e" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x1e")) (; ";")) (expression_statement "puVar10[3] = 0xffffffff;" (assignment_expression "puVar10[3] = 0xffffffff" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar10 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar10 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "iVar11 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar11 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) {\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (labeled_statement "LAB_0009db81:\n                    \n      FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_0009db81") (: ":") (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00069d00") (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 "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);" (assignment_expression "local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2)" (( "(") (binary_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2" (call_expression "(uint)(*(char *)(iVar11 + 0x4fad) != '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(char *)(iVar11 + 0x4fad) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x4fad) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x4fad)" (* "*") (cast_expression "(char *)(iVar11 + 0x4fad)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x4fad)" (( "(") (binary_expression "iVar11 + 0x4fad" (identifier "iVar11") (+ "+") (number_literal "0x4fad")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) (* "*") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (*(char *)(iVar11 + 0x5029) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x5029) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x5029) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5029)" (* "*") (cast_expression "(char *)(iVar11 + 0x5029)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x5029)" (( "(") (binary_expression "iVar11 + 0x5029" (identifier "iVar11") (+ "+") (number_literal "0x5029")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x20);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x20);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x20)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x20)" (( "(") (binary_expression "(uint)local_34 | 0x20" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x20")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x50a5) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x50a5) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x50a5) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x50a5)" (* "*") (cast_expression "(char *)(iVar11 + 0x50a5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50a5)" (( "(") (binary_expression "iVar11 + 0x50a5" (identifier "iVar11") (+ "+") (number_literal "0x50a5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x400);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x400);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x400)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x400)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x400)" (( "(") (binary_expression "(uint)local_34 | 0x400" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x400")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x5199) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x5199) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x5199) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5199)" (* "*") (cast_expression "(char *)(iVar11 + 0x5199)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x5199)" (( "(") (binary_expression "iVar11 + 0x5199" (identifier "iVar11") (+ "+") (number_literal "0x5199")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x10);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x10);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x10)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x10)" (( "(") (binary_expression "(uint)local_34 | 0x10" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x10")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x5355) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x5355) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x5355) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x5355)" (* "*") (cast_expression "(char *)(iVar11 + 0x5355)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x5355)" (( "(") (binary_expression "iVar11 + 0x5355" (identifier "iVar11") (+ "+") (number_literal "0x5355")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x800);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x800);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x800)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x800)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x800)" (( "(") (binary_expression "(uint)local_34 | 0x800" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x800")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x53d1) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x53d1) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x53d1) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x53d1)" (* "*") (cast_expression "(char *)(iVar11 + 0x53d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x53d1)" (( "(") (binary_expression "iVar11 + 0x53d1" (identifier "iVar11") (+ "+") (number_literal "0x53d1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 8);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 8);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 8)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 8)" (( "(") (binary_expression "(uint)local_34 | 8" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x544d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x544d) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x544d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x544d)" (* "*") (cast_expression "(char *)(iVar11 + 0x544d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x544d)" (( "(") (binary_expression "iVar11 + 0x544d" (identifier "iVar11") (+ "+") (number_literal "0x544d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x40);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x40);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x40)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x40)" (( "(") (binary_expression "(uint)local_34 | 0x40" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x40")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x54c9) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x54c9) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x54c9) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x54c9)" (* "*") (cast_expression "(char *)(iVar11 + 0x54c9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x54c9)" (( "(") (binary_expression "iVar11 + 0x54c9" (identifier "iVar11") (+ "+") (number_literal "0x54c9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x1000);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x1000);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x1000)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x1000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x1000)" (( "(") (binary_expression "(uint)local_34 | 0x1000" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x1000")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x1a25) == '\0') {\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar11 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1a25)" (( "(") (binary_expression "iVar11 + 0x1a25" (identifier "iVar11") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 & 0xffffff97);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 & 0xffffff97);" (assignment_expression "local_34 = (uint *)((uint)local_34 & 0xffffff97)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 & 0xffffff97)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 & 0xffffff97)" (( "(") (binary_expression "(uint)local_34 & 0xffffff97" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (& "&") (number_literal "0xffffff97")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x563d) != '\0') {\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x563d) != '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x563d) != '\0'" (pointer_expression "*(char *)(iVar11 + 0x563d)" (* "*") (cast_expression "(char *)(iVar11 + 0x563d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x563d)" (( "(") (binary_expression "iVar11 + 0x563d" (identifier "iVar11") (+ "+") (number_literal "0x563d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 0x80);\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 0x80);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 0x80)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 0x80)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 0x80)" (( "(") (binary_expression "(uint)local_34 | 0x80" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "0x80")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(char *)(iVar11 + 0x55c1) == '\0') {\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }\n  else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x55c1) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x55c1) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x55c1)" (* "*") (cast_expression "(char *)(iVar11 + 0x55c1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x55c1)" (( "(") (binary_expression "iVar11 + 0x55c1" (identifier "iVar11") (+ "+") (number_literal "0x55c1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') {\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" (* "*") (cast_expression "(char *)(iVar11 + 0x72d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x72d)" (( "(") (binary_expression "iVar11 + 0x72d" (identifier "iVar11") (+ "+") (number_literal "0x72d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (local_34 == (uint *)0x0) {\n        return;\n      }\n      goto LAB_0009da89;\n    }" ({ "{") (if_statement "if (local_34 == (uint *)0x0) {\n        return;\n      }" (if "if") (parenthesized_expression "(local_34 == (uint *)0x0)" (( "(") (binary_expression "local_34 == (uint *)0x0" (identifier "local_34") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_0009da89;" (goto "goto") (statement_identifier "LAB_0009da89") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" (else "else") (compound_statement "{\n    local_34 = (uint *)((uint)local_34 | 1);\n    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;\n  }" ({ "{") (expression_statement "local_34 = (uint *)((uint)local_34 | 1);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 1)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 1)" (( "(") (binary_expression "(uint)local_34 | 1" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;" (if "if") (parenthesized_expression "(*(char *)(iVar11 + 0x72d) == '\0')" (( "(") (binary_expression "*(char *)(iVar11 + 0x72d) == '\0'" (pointer_expression "*(char *)(iVar11 + 0x72d)" (* "*") (cast_expression "(char *)(iVar11 + 0x72d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x72d)" (( "(") (binary_expression "iVar11 + 0x72d" (identifier "iVar11") (+ "+") (number_literal "0x72d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009da89;" (goto "goto") (statement_identifier "LAB_0009da89") (; ";"))) (} "}")))) (expression_statement "local_34 = (uint *)((uint)local_34 | 4);" (assignment_expression "local_34 = (uint *)((uint)local_34 | 4)" (identifier "local_34") (= "=") (cast_expression "(uint *)((uint)local_34 | 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 | 4)" (( "(") (binary_expression "(uint)local_34 | 4" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (| "|") (number_literal "4")) () ")")))) (; ";")) (labeled_statement "LAB_0009da89:\n  local_2c = 0x6ffffffb;" (statement_identifier "LAB_0009da89") (: ":") (expression_statement "local_2c = 0x6ffffffb;" (assignment_expression "local_2c = 0x6ffffffb" (identifier "local_2c") (= "=") (number_literal "0x6ffffffb")) (; ";"))) (expression_statement "puVar8 = *(uint **)(iVar3 + 0x30);" (assignment_expression "puVar8 = *(uint **)(iVar3 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_28 = 0xffffffff;" (assignment_expression "local_28 = 0xffffffff" (identifier "local_28") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (puVar8 == *(uint **)(iVar3 + 0x34)) {\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" (if "if") (parenthesized_expression "(puVar8 == *(uint **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar8 == *(uint **)(iVar3 + 0x34)" (identifier "puVar8") (== "==") (pointer_expression "*(uint **)(iVar3 + 0x34)" (* "*") (cast_expression "(uint **)(iVar3 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);\n    return;\n  }" ({ "{") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar8,&local_34)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar8") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*puVar8 = (uint)local_34;" (assignment_expression "*puVar8 = (uint)local_34" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "puVar8[1] = local_30;" (assignment_expression "puVar8[1] = local_30" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar8[2] = 0x6ffffffb;" (assignment_expression "puVar8[2] = 0x6ffffffb" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6ffffffb")) (; ";")) (expression_statement "puVar8[3] = 0xffffffff;" (assignment_expression "puVar8[3] = 0xffffffff" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(uint **)(iVar3 + 0x30) = puVar8 + 4;" (assignment_expression "*(uint **)(iVar3 + 0x30) = puVar8 + 4" (pointer_expression "*(uint **)(iVar3 + 0x30)" (* "*") (cast_expression "(uint **)(iVar3 + 0x30)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (labeled_statement "LAB_0009d54c:\n  if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" (statement_identifier "LAB_0009d54c") (: ":") (if_statement "if (*(int *)(DAT_0038f378 + 8) == 0) {\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) == 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);\n  }" ({ "{") (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n)" (identifier "FUN_00069d00") (argument_list "("../../gold/parameters.h",0x5c,"options",__n)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "__n") () ")"))) (; ";")) (} "}")))) (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }\n  else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" (* "*") (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x117d)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x117d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x117d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_4c = 0xf;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_48 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }\n    *puVar17 = local_54;\n    puVar17[1] = local_50;\n    puVar17[2] = 0xf;\n    puVar17[3] = 0xfffffffc;\n    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n  }" ({ "{") (expression_statement "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (identifier "local_54") (= "=") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (identifier "local_34") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_4c = 0xf;" (assignment_expression "local_4c = 0xf" (identifier "local_4c") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_48 = 0xfffffffc;" (assignment_expression "local_48 = 0xfffffffc" (identifier "local_48") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" (if "if") (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" (identifier "puVar17") (== "==") (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      puVar13 = &local_54;\n      goto LAB_0009de3d;\n    }" ({ "{") (expression_statement "puVar13 = &local_54;" (assignment_expression "puVar13 = &local_54" (identifier "puVar13") (= "=") (pointer_expression "&local_54" (& "&") (identifier "local_54"))) (; ";")) (goto_statement "goto LAB_0009de3d;" (goto "goto") (statement_identifier "LAB_0009de3d") (; ";")) (} "}"))) (expression_statement "*puVar17 = local_54;" (assignment_expression "*puVar17 = local_54" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (identifier "local_54")) (; ";")) (expression_statement "puVar17[1] = local_50;" (assignment_expression "puVar17[1] = local_50" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "puVar17[2] = 0xf;" (assignment_expression "puVar17[2] = 0xf" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xf")) (; ";")) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" (else "else") (compound_statement "{\n    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);\n    local_3c = 0x1d;\n    puVar17 = *(undefined4 **)(iVar3 + 0x30);\n    local_38 = 0xfffffffc;\n    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }\n  }" ({ "{") (expression_statement "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);" (assignment_expression "local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (identifier "local_44") (= "=") (call_expression "FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (identifier "FUN_00174930") (argument_list "(*(undefined4 *)(iVar3 + 0x38),local_34,1,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (, ",") (identifier "local_34") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_3c = 0x1d;" (assignment_expression "local_3c = 0x1d" (identifier "local_3c") (= "=") (number_literal "0x1d")) (; ";")) (expression_statement "puVar17 = *(undefined4 **)(iVar3 + 0x30);" (assignment_expression "puVar17 = *(undefined4 **)(iVar3 + 0x30)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_38 = 0xfffffffc;" (assignment_expression "local_38 = 0xfffffffc" (identifier "local_38") (= "=") (number_literal "0xfffffffc")) (; ";")) (if_statement "if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }\n    else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (if "if") (parenthesized_expression "(puVar17 == *(undefined4 **)(iVar3 + 0x34))" (( "(") (binary_expression "puVar17 == *(undefined4 **)(iVar3 + 0x34)" (identifier "puVar17") (== "==") (pointer_expression "*(undefined4 **)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n      puVar13 = &local_44;\nLAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);\n    }" ({ "{") (expression_statement "puVar13 = &local_44;" (assignment_expression "puVar13 = &local_44" (identifier "puVar13") (= "=") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (; ";")) (labeled_statement "LAB_0009de3d:\n                    \n      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" (statement_identifier "LAB_0009de3d") (: ":") (expression_statement "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);" (call_expression "FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13)" (identifier "FUN_000a5aa0") (argument_list "(iVar3 + 0x2c,puVar17,puVar13)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) (, ",") (identifier "puVar17") (, ",") (identifier "puVar13") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" (else "else") (compound_statement "{\n      *puVar17 = local_44;\n      puVar17[1] = local_40;\n      puVar17[2] = 0x1d;\n      puVar17[3] = 0xfffffffc;\n      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;\n    }" ({ "{") (expression_statement "*puVar17 = local_44;" (assignment_expression "*puVar17 = local_44" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "puVar17[1] = local_40;" (assignment_expression "puVar17[1] = local_40" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "puVar17[2] = 0x1d;" (assignment_expression "puVar17[2] = 0x1d" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x1d")) (; ";")) (expression_statement "puVar17[3] = 0xfffffffc;" (assignment_expression "puVar17[3] = 0xfffffffc" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xfffffffc")) (; ";")) (expression_statement "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;" (assignment_expression "*(undefined4 **)(iVar3 + 0x30) = puVar17 + 4" (pointer_expression "*(undefined4 **)(iVar3 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (local_34 != &local_2c) {\n    FUN_001e6db0(local_34);\n  }" (if "if") (parenthesized_expression "(local_34 != &local_2c)" (( "(") (binary_expression "local_34 != &local_2c" (identifier "local_34") (!= "!=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) () ")")) (compound_statement "{\n    FUN_001e6db0(local_34);\n  }" ({ "{") (expression_statement "FUN_001e6db0(local_34);" (call_expression "FUN_001e6db0(local_34)" (identifier "FUN_001e6db0") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0009d5ce;" (goto "goto") (statement_identifier "LAB_0009d5ce") (; ";")) (labeled_statement "LAB_0009d929:\n  bVar6 = true;" (statement_identifier "LAB_0009d929") (: ":") (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" (identifier "bVar6") (= "=") (true "true")) (; ";"))) (goto_statement "goto LAB_0009d624;" (goto "goto") (statement_identifier "LAB_0009d624") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void finish_dynamic_section(Layout * this, Input_objects *
   input_objects, Symbol_table * symtab) */

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

{
  type_4 *this_00;
  anon_union_16_2_edb7204a_for_basic_string<var_2,var_10::char_traits<var_2>,var_10::var_1<var_2>var_3>var_4
  *var_5;
  type_5 var_32;
  type_6 var_12;
  type_7 *var_8;
  type_8 var_21;
  type_9 *var_22;
  size_t var_27;
  type_10 var_37;
  type_11 var_30;
  bool var_45;
  type_12 *var_18;
  int var_29;
  type_13 *pOVar12;
  type_14 *pOVar13;
  type_15 *var_15;
  char *var_16;
  type_16 *__args_0;
  type_17 iVar16;
  char var_42;
  type_17 __position;
  type_18 var_31;
  type_19 var_43;
  type_19 var_25;
  type_19 var_20;
  type_19 var_26;
  type_20 *var_38;
  type_19 var_35;
  type_19 var_11;
  type_16 local_54;
  type_16 local_50;
  type_18 local_4c;
  type_18 local_48;
  type_16 local_44;
  type_16 local_40;
  type_18 local_3c;
  type_18 local_38;
  type_21 rpath_val;
  
  if ((((this->script_options_->script_sections_).saw_sections_clause_ == false) ||
      ((this->script_options_->script_sections_).phdrs_elements_ == (type_22 *)0x0)) &&
     (this->dynamic_section_ != (type_14 *)0x0)) {
    pOVar12 = var_6(this,2,6);
    Output_segment::var_7(pOVar12,this->dynamic_section_,6);
    var_8 = this->dynamic_data_;
  }
  else {
    var_8 = this->dynamic_data_;
  }
  if (var_8 == (type_7 *)0x0) {
    return;
  }
  var_11 = (input_objects->dynobj_list_).
             super__Vector_base<var_9::Dynobj*,var_10::var_1<var_9::Dynobj*>var_3>._M_impl._M_start;
  if (var_11 !=
      (input_objects->dynobj_list_).
      super__Vector_base<var_9::Dynobj*,var_10::var_1<var_9::Dynobj*>var_3>._M_impl._M_finish) {
    do {
      while( true ) {
        var_12 = ((*var_11)->super_Object).field_0x2c;
        if (((var_12 & 2) != 0) || ((var_12 & 0x40) == 0)) break;
LAB_0009d1fa:
        var_11 = var_11 + 1;
        if ((input_objects->dynobj_list_).
            super__Vector_base<var_9::Dynobj*,var_10::var_1<var_9::Dynobj*>var_3>._M_impl._M_finish ==
            var_11) goto LAB_0009d268;
      }
      rpath_val._M_dataplus._M_p =
           var_13<var_2>::var_14
                     (var_8->pool_,((*var_11)->soname_)._M_dataplus._M_p,true,(type_23 *)0x0);
      rpath_val.field_2._M_allocated_capacity = 1;
      iVar16._M_current =
           (var_8->entries_).
           super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffc;
      if (iVar16._M_current !=
          (var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage) {
        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
        (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_NEEDED;
        (iVar16._M_current)->offset_ = 0xfffffffc;
        (var_8->entries_).
        super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ._M_impl._M_finish = iVar16._M_current + 1;
        goto LAB_0009d1fa;
      }
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
      var_11 = var_11 + 1;
    } while ((input_objects->dynobj_list_).
             super__Vector_base<var_9::Dynobj*,var_10::var_1<var_9::Dynobj*>var_3>._M_impl._M_finish !=
             var_11);
  }
LAB_0009d268:
  var_15 = parameters->options_;
  if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
  if (((var_15->shared_).value != false) &&
     (var_16 = (var_15->soname_).value, var_16 != (char *)0x0)) {
    rpath_val._M_dataplus._M_p =
         var_13<var_2>::var_14(var_8->pool_,var_16,true,(type_23 *)0x0);
    rpath_val.field_2._M_allocated_capacity = 0xe;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xfffffffc;
    if (iVar16._M_current ==
        (var_8->entries_).
        super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
        ._M_impl._M_end_of_storage) {
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
      (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_SONAME;
      (iVar16._M_current)->offset_ = 0xfffffffc;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    var_15 = parameters->options_;
    if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
  }
  var_18 = type_3::var_17(symtab,(var_15->init_).value,(char *)0x0);
  if (var_18 != (type_12 *)0x0) {
    if ((var_18->field_0x2a & 7) == 0) {
      if ((var_18->field_0x2b & 0x20) == 0) {
        var_45 = type_12::var_19((var_18->u2_).shndx);
        if (!var_45) {
          if ((var_18->field_0x2a & 7) != 0) goto LAB_0009dd08;
          goto LAB_0009dd61;
        }
      }
      else if ((var_18->u2_).shndx != 0) {
LAB_0009dd61:
        if (((type_5)((var_18->u1_).output_segment)->output_lists_[3].
                   super__Vector_base<var_9::type_24*,var_10::var_1<var_9::type_24*>var_3>.
                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dd08;
      }
    }
    else if ((var_18->field_0x2a & 7) != 4) {
LAB_0009dd08:
      rpath_val.field_2._M_allocated_capacity = 0xc;
      iVar16._M_current =
           (var_8->entries_).
           super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffd;
      rpath_val._M_dataplus._M_p = (type_19)var_18;
      if (iVar16._M_current ==
          (var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage) {
        std::
        vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                  (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).sym = var_18;
        (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_INIT;
        (iVar16._M_current)->offset_ = 0xfffffffd;
        (var_8->entries_).
        super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
    }
  }
  if (parameters->options_ == (type_15 *)0x0) goto LAB_0009db81;
  var_18 = type_3::var_17(symtab,(parameters->options_->fini_).value,(char *)0x0);
  if (var_18 != (type_12 *)0x0) {
    if ((var_18->field_0x2a & 7) == 0) {
      if ((var_18->field_0x2b & 0x20) == 0) {
        var_45 = type_12::var_19((var_18->u2_).shndx);
        if (!var_45) {
          if ((var_18->field_0x2a & 7) != 0) goto LAB_0009dcc0;
          goto LAB_0009dd91;
        }
      }
      else if ((var_18->u2_).shndx != 0) {
LAB_0009dd91:
        if (((type_5)((var_18->u1_).output_segment)->output_lists_[3].
                   super__Vector_base<var_9::type_24*,var_10::var_1<var_9::type_24*>var_3>.
                   _M_impl._M_end_of_storage & 1) == 0) goto LAB_0009dcc0;
      }
    }
    else if ((var_18->field_0x2a & 7) != 4) {
LAB_0009dcc0:
      rpath_val.field_2._M_allocated_capacity = 0xd;
      iVar16._M_current =
           (var_8->entries_).
           super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffd;
      rpath_val._M_dataplus._M_p = (type_19)var_18;
      if (iVar16._M_current ==
          (var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage) {
        std::
        vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                  (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).sym = var_18;
        (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_FINI;
        (iVar16._M_current)->offset_ = 0xfffffffd;
        (var_8->entries_).
        super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
    }
  }
  var_20 = (this->section_list_).
             super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>.
             _M_impl._M_start;
  this_00 = &var_8->entries_;
  if (var_20 !=
      (this->section_list_).
      super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>._M_impl.
      _M_finish) {
    do {
      while( true ) {
        pOVar13 = *var_20;
        var_21 = pOVar13->type_;
        if (var_21 != 0xf) break;
        var_22 = (var_8->entries_).
                 super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (var_8->entries_).
             super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x1a;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (var_22 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (type_19)pOVar13;
          std::
          vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                    (this_00,iVar16,(type_9 *)&rpath_val);
          pOVar13 = *var_20;
          __position._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_finish;
          iVar16._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_end_of_storage;
        }
        else {
          (var_22->u_).val = (type_5)pOVar13;
          __position._M_current = var_22 + 1;
          var_22->od2 = (type_24 *)0x0;
          var_22->tag_ = DT_FINI_ARRAY;
          var_22->offset_ = 0;
          (var_8->entries_).
          super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x1c;
        rpath_val.field_2._4_4_ = 0xfffffffe;
        rpath_val._M_string_length = 0;
        if (iVar16._M_current == __position._M_current) {
          rpath_val._M_dataplus._M_p = (type_19)pOVar13;
          std::
          vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                    (this_00,iVar16,(type_9 *)&rpath_val);
          goto LAB_0009d3b9;
        }
LAB_0009d43e:
        rpath_val.field_2._4_4_ = 0xfffffffe;
        rpath_val._M_string_length = 0;
        ((__position._M_current)->u_).val = (type_5)pOVar13;
        var_20 = var_20 + 1;
        (__position._M_current)->od2 = (type_24 *)0x0;
        (__position._M_current)->tag_ = rpath_val.field_2._M_allocated_capacity;
        (__position._M_current)->offset_ = 0xfffffffe;
        (var_8->entries_).
        super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ._M_impl._M_finish = __position._M_current + 1;
        rpath_val._M_dataplus._M_p = (type_19)pOVar13;
        if ((this->section_list_).
            super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>.
            _M_impl._M_finish == var_20) goto LAB_0009d46a;
      }
      if (var_21 == 0x10) {
        var_22 = (var_8->entries_).
                 super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (var_8->entries_).
             super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x20;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (var_22 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (type_19)pOVar13;
          std::
          vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                    (this_00,iVar16,(type_9 *)&rpath_val);
          pOVar13 = *var_20;
          __position._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_finish;
          iVar16._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_end_of_storage;
        }
        else {
          (var_22->u_).val = (type_5)pOVar13;
          __position._M_current = var_22 + 1;
          var_22->od2 = (type_24 *)0x0;
          var_22->tag_ = DT_ENCODING;
          var_22->offset_ = 0;
          (var_8->entries_).
          super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x21;
      }
      else {
        if (var_21 != 0xe) goto LAB_0009d3b9;
        var_22 = (var_8->entries_).
                 super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
                 ._M_impl._M_finish;
        iVar16._M_current =
             (var_8->entries_).
             super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
             ._M_impl._M_end_of_storage;
        rpath_val.field_2._M_allocated_capacity = 0x19;
        rpath_val.field_2._4_4_ = 0;
        rpath_val._M_string_length = 0;
        if (var_22 == iVar16._M_current) {
          rpath_val._M_dataplus._M_p = (type_19)pOVar13;
          std::
          vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                    (this_00,iVar16,(type_9 *)&rpath_val);
          pOVar13 = *var_20;
          __position._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_finish;
          iVar16._M_current =
               (var_8->entries_).
               super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
               ._M_impl._M_end_of_storage;
        }
        else {
          (var_22->u_).val = (type_5)pOVar13;
          __position._M_current = var_22 + 1;
          var_22->od2 = (type_24 *)0x0;
          var_22->tag_ = DT_INIT_ARRAY;
          var_22->offset_ = 0;
          (var_8->entries_).
          super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
          ._M_impl._M_finish = __position._M_current;
        }
        rpath_val.field_2._M_allocated_capacity = 0x1b;
      }
      rpath_val.field_2._4_4_ = 0xfffffffe;
      rpath_val._M_string_length = 0;
      if (__position._M_current != iVar16._M_current) goto LAB_0009d43e;
      rpath_val._M_dataplus._M_p = (type_19)pOVar13;
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (this_00,__position,(type_9 *)&rpath_val);
LAB_0009d3b9:
      var_20 = var_20 + 1;
    } while ((this->section_list_).
             super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>.
             _M_impl._M_finish != var_20);
  }
LAB_0009d46a:
  var_15 = parameters->options_;
  if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
  var_26 = (var_15->rpath_).value.
            super__Vector_base<var_9::var_23,var_10::var_1<var_9::var_23>var_3>.
            _M_impl._M_start;
  if (var_26 !=
      (var_15->rpath_).value.
      super__Vector_base<var_9::var_23,var_10::var_1<var_9::var_23>var_3>._M_impl.
      _M_finish) {
    var_5 = &rpath_val.field_2;
    rpath_val._M_string_length = 0;
    rpath_val.field_2._M_allocated_capacity = rpath_val.field_2._M_allocated_capacity & 0xffffff00;
    rpath_val._M_dataplus._M_p = (type_19)var_5;
    do {
      var_30 = rpath_val._M_string_length;
      if (rpath_val._M_string_length == 0) {
                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */
        std::string::var_24((type_21 *)&rpath_val,(type_21 *)var_26);
      }
      else {
        var_25 = (var_15->rpath_).value.
                  super__Vector_base<var_9::var_23,var_10::var_1<var_9::var_23>var_3>
                  ._M_impl._M_start;
        if (var_25 != var_26) {
          var_27 = (var_26->name_)._M_string_length;
          do {
            if (((var_25->name_)._M_string_length == var_27) &&
               ((var_27 == 0 ||
                (var_29 = var_28((var_25->name_)._M_dataplus._M_p,(var_26->name_)._M_dataplus._M_p
                                 ,var_27), var_29 == 0)))) {
              if (var_26 != var_25) {
                if ((var_15->rpath_).value.
                    super__Vector_base<var_9::var_23,var_10::var_1<var_9::var_23>var_3>
                    ._M_impl._M_finish == var_26 + 1) goto LAB_0009d54c;
                goto LAB_0009d4d8;
              }
              break;
            }
            var_25 = var_25 + 1;
          } while (var_26 != var_25);
        }
        var_32 = var_30 + 1;
        var_31 = 0xf;
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_10::char_traits<var_2>,var_10::var_1<var_2>var_3>var_4
             *)rpath_val._M_dataplus._M_p != var_5) {
          var_31 = rpath_val.field_2._M_allocated_capacity;
        }
        if (var_31 < var_32) {
                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */
          std::string::var_33((type_21 *)&rpath_val,var_30,0,(char *)0x0,1);
        }
        rpath_val._M_dataplus._M_p[var_30] = ':';
        rpath_val._M_dataplus._M_p[var_32] = '\0';
        rpath_val._M_string_length = var_32;
                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */
        std::string::var_34
                  ((type_21 *)&rpath_val,(var_26->name_)._M_dataplus._M_p,
                   (var_26->name_)._M_string_length);
      }
      if ((var_15->rpath_).value.
          super__Vector_base<var_9::var_23,var_10::var_1<var_9::var_23>var_3>.
          _M_impl._M_finish == var_26 + 1) goto LAB_0009d54c;
LAB_0009d4d8:
      var_26 = var_26 + 1;
    } while( true );
  }
LAB_0009d5ce:
  if ((this->script_options_->script_sections_).saw_sections_clause_ == false) {
    var_35 = (this->segment_list_).
               super__Vector_base<var_9::type_13*,var_10::var_1<var_9::type_13*>var_3>.
               _M_impl._M_start;
    if (var_35 !=
        (this->segment_list_).
        super__Vector_base<var_9::type_13*,var_10::var_1<var_9::type_13*>var_3>._M_impl.
        _M_finish) {
      do {
        pOVar12 = *var_35;
        if (((pOVar12->type_ == 1) && ((pOVar12->flags_ & 2) == 0)) &&
           (var_45 = type_13::var_36(pOVar12), var_45)) goto LAB_0009d929;
        var_35 = var_35 + 1;
      } while ((this->segment_list_).
               super__Vector_base<var_9::type_13*,var_10::var_1<var_9::type_13*>var_3>.
               _M_impl._M_finish != var_35);
    }
  }
  else {
    for (var_20 = (this->section_list_).
                    super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>
                    ._M_impl._M_start;
        var_20 !=
        (this->section_list_).
        super__Vector_base<var_9::type_14*,var_10::var_1<var_9::type_14*>var_3>._M_impl.
        _M_finish; var_20 = var_20 + 1) {
      var_37 = (*var_20)->flags_;
      if ((((var_37 & 2) != 0) && ((var_37 & 1) == 0)) &&
         ((((*var_20)->super_Output_data).field_0x1c & 0x10) != 0)) goto LAB_0009d929;
    }
  }
  var_45 = false;
LAB_0009d624:
  var_15 = parameters->options_;
  if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
  var_16 = (var_15->filter_).value;
  if (var_16 != (char *)0x0) {
    rpath_val._M_dataplus._M_p =
         var_13<var_2>::var_14(var_8->pool_,var_16,true,(type_23 *)0x0);
    rpath_val.field_2._M_allocated_capacity = 0x7fffffff;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xfffffffc;
    if (iVar16._M_current ==
        (var_8->entries_).
        super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
        ._M_impl._M_end_of_storage) {
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
      (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_FILTER;
      (iVar16._M_current)->offset_ = 0xfffffffc;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    var_15 = parameters->options_;
    if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
  }
  if (((var_15->auxiliary_).value._M_h._M_element_count != 0) &&
     (var_38 = (var_15->auxiliary_).value._M_h._M_before_begin._M_nxt,
     var_38 != (type_20 *)0x0)) {
    do {
      rpath_val._M_dataplus._M_p =
           var_13<var_2>::var_14(var_8->pool_,(char *)var_38[1]._M_nxt,true,(type_23 *)0x0);
      rpath_val.field_2._M_allocated_capacity = 0x7ffffffd;
      iVar16._M_current =
           (var_8->entries_).
           super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
           ._M_impl._M_finish;
      rpath_val.field_2._4_4_ = 0xfffffffc;
      if (iVar16._M_current ==
          (var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage) {
        std::
        vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                  (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
      }
      else {
        ((iVar16._M_current)->u_).str = rpath_val._M_dataplus._M_p;
        (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
        (iVar16._M_current)->tag_ = DT_AUXILIARY;
        (iVar16._M_current)->offset_ = 0xfffffffc;
        (var_8->entries_).
        super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
        ._M_impl._M_finish = iVar16._M_current + 1;
      }
      var_38 = var_38->_M_nxt;
      if (parameters->options_ == (type_15 *)0x0) goto LAB_0009db81;
    } while (var_38 != (type_20 *)0x0);
  }
  if (var_45) {
    rpath_val.field_2._M_allocated_capacity = 0x16;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = (type_19)0x0;
    if (iVar16._M_current ==
        (var_8->entries_).
        super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
        ._M_impl._M_end_of_storage) {
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = 0;
      (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_TEXTREL;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    var_15 = parameters->options_;
    if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
    if ((var_15->text_).value != false) {
      var_16 = (char *)var_39("read-only segment has dynamic relocations");
      var_40(var_16);
LAB_0009dde4:
      var_15 = parameters->options_;
      if (var_15 == (type_15 *)0x0) goto LAB_0009db81;
      var_42 = (var_15->shared_).value;
      var_43 = (type_19)0x4;
      goto LAB_0009d9a3;
    }
    var_42 = (var_15->shared_).value;
    var_43 = (type_19)0x4;
    if ((var_15->warn_shared_textrel_).value == false) goto LAB_0009d9a3;
    if ((bool)var_42 != false) {
      var_16 = (char *)var_39("shared library text segment is not shareable");
      var_41(var_16);
      goto LAB_0009dde4;
    }
  }
  else {
    var_43 = (type_19)0x0;
    var_15 = parameters->options_;
    var_42 = (var_15->shared_).value;
LAB_0009d9a3:
    if ((var_42 != '\0') && (this->has_static_tls_ != false)) {
      var_43 = (type_19)((type_5)var_43 | 0x10);
    }
  }
  if ((var_15->origin_).value != false) {
    var_43 = (type_19)((type_5)var_43 | 1);
  }
  if (((var_15->Bsymbolic_).value == false) || (var_15->have_dynamic_list_ != false)) {
    var_15 = parameters->options_;
    if ((var_15->now_).value != false) {
LAB_0009db37:
      var_43 = (type_19)((type_5)var_43 | 8);
      goto LAB_0009db3a;
    }
    if (var_43 != (type_19)0x0) goto LAB_0009db3a;
  }
  else {
    var_43 = (type_19)((type_5)var_43 | 2);
    rpath_val.field_2._M_allocated_capacity = 0x10;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = (type_19)0x0;
    if (iVar16._M_current ==
        (var_8->entries_).
        super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
        ._M_impl._M_end_of_storage) {
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = 0;
      (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_SYMBOLIC;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    if (parameters->options_ == (type_15 *)0x0) goto LAB_0009db81;
    if ((parameters->options_->now_).value != false) goto LAB_0009db37;
LAB_0009db3a:
    rpath_val.field_2._M_allocated_capacity = 0x1e;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    rpath_val.field_2._4_4_ = 0xffffffff;
    rpath_val._M_dataplus._M_p = var_43;
    if (iVar16._M_current ==
        (var_8->entries_).
        super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
        ._M_impl._M_end_of_storage) {
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    }
    else {
      ((iVar16._M_current)->u_).val = (type_5)var_43;
      (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
      (iVar16._M_current)->tag_ = DT_FLAGS;
      (iVar16._M_current)->offset_ = 0xffffffff;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = iVar16._M_current + 1;
    }
    var_15 = parameters->options_;
    if (var_15 == (type_15 *)0x0) {
LAB_0009db81:
                    /* WARNING: Subroutine does not return */
      var_44("../../gold/parameters.h",0x5c,"options");
    }
  }
  rpath_val._M_dataplus._M_p = (type_19)((type_5)((var_15->global_).value != false) * 2);
  if ((var_15->initfirst_).value != false) {
    rpath_val._M_dataplus._M_p = (type_19)((type_5)rpath_val._M_dataplus._M_p | 0x20);
  }
  if ((var_15->interpose_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x400;
  }
  if ((var_15->loadfltr_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x10;
  }
  if ((var_15->nodefaultlib_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x800;
  }
  if ((var_15->nodelete_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 8;
  }
  if ((var_15->nodlopen_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x40;
  }
  if ((var_15->nodump_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x1000;
  }
  if ((var_15->shared_).value == false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p & 0xffffff97;
  }
  if ((var_15->origin_).value != false) {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 0x80;
  }
  var_45 = (var_15->Bgroup_).value;
  if ((var_15->now_).value == false) {
    if (var_45 == false) {
      if (rpath_val._M_dataplus._M_p == (type_19)0x0) {
        return;
      }
      goto LAB_0009da89;
    }
  }
  else {
    rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 1;
    if (var_45 == false) goto LAB_0009da89;
  }
  rpath_val._M_dataplus._M_p = rpath_val._M_dataplus._M_p | 4;
LAB_0009da89:
  rpath_val.field_2._M_allocated_capacity = 0x6ffffffb;
  iVar16._M_current =
       (var_8->entries_).
       super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
       ._M_impl._M_finish;
  rpath_val.field_2._4_4_ = 0xffffffff;
  if (iVar16._M_current ==
      (var_8->entries_).
      super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
      ._M_impl._M_end_of_storage) {
    std::
    vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
    ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
              (&var_8->entries_,iVar16,(type_9 *)&rpath_val);
    return;
  }
  ((iVar16._M_current)->u_).val = (type_5)rpath_val._M_dataplus._M_p;
  (iVar16._M_current)->od2 = (type_24 *)rpath_val._M_string_length;
  (iVar16._M_current)->tag_ = DT_FLAGS_1;
  (iVar16._M_current)->offset_ = 0xffffffff;
  (var_8->entries_).
  super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
  ._M_impl._M_finish = iVar16._M_current + 1;
  return;
LAB_0009d54c:
  if (parameters->options_ == (type_15 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */
    var_44("../../gold/parameters.h",0x5c,"options");
  }
  if ((parameters->options_->enable_new_dtags_).value == false) {
                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */
    local_54.str = var_13<var_2>::var_14
                             (var_8->pool_,rpath_val._M_dataplus._M_p,true,(type_23 *)0x0);
    local_4c = 0xf;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    local_48 = 0xfffffffc;
    if (&(iVar16._M_current)->u_ ==
        &((var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage)->u_) {
      __args_0 = &local_54;
      goto LAB_0009de3d;
    }
    (iVar16._M_current)->u_ = (char *)local_54;
    *(type_16 *)((int)iVar16._M_current + 4) = local_50;
    ((type_16 *)((int)iVar16._M_current + 8))->val = DT_RPATH;
    ((type_16 *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;
    (var_8->entries_).
    super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
    ._M_impl._M_finish = (type_19)((int)iVar16._M_current + 0x10);
  }
  else {
    local_44.str = var_13<var_2>::var_14
                             (var_8->pool_,rpath_val._M_dataplus._M_p,true,(type_23 *)0x0);
    local_3c = 0x1d;
    iVar16._M_current =
         (var_8->entries_).
         super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
         ._M_impl._M_finish;
    local_38 = 0xfffffffc;
    if (&(iVar16._M_current)->u_ ==
        &((var_8->entries_).
          super__Vector_base<var_9::type_7::type_9,var_10::var_1<var_9::type_7::type_9>var_3>
          ._M_impl._M_end_of_storage)->u_) {
      __args_0 = &local_44;
LAB_0009de3d:
                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */
      std::
      vector<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ::_M_realloc_insert<const_gold::Output_data_dynamic::type_9&>
                (&var_8->entries_,iVar16,(type_9 *)__args_0);
    }
    else {
      (iVar16._M_current)->u_ = (char *)local_44;
      *(type_16 *)((int)iVar16._M_current + 4) = local_40;
      ((type_16 *)((int)iVar16._M_current + 8))->val = DT_RUNPATH;
      ((type_16 *)((int)iVar16._M_current + 0xc))->val = 0xfffffffc;
      (var_8->entries_).
      super__Vector_base<var_9::Output_data_dynamic::type_9,var_10::var_1<var_9::Output_data_dynamic::type_9>var_3>
      ._M_impl._M_finish = (type_19)((int)iVar16._M_current + 0x10);
    }
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_10::char_traits<var_2>,var_10::var_1<var_2>var_3>var_4
       *)rpath_val._M_dataplus._M_p != var_5) {
    var_46(rpath_val._M_dataplus._M_p);
  }
  goto LAB_0009d5ce;
LAB_0009d929:
  var_45 = true;
  goto LAB_0009d624;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int param_1,int param_2,undefined4 param_3)

{
  uint uVar1;
  byte bVar2;
  int iVar3;
  uint uVar4;
  uint *puVar5;
  bool bVar6;
  char cVar7;
  uint *puVar8;
  int iVar9;
  uint *puVar10;
  int iVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  size_t extraout_ECX;
  size_t __n;
  uint *puVar14;
  size_t extraout_ECX_00;
  uint *puVar15;
  uint uVar16;
  undefined4 *puVar17;
  int *piVar18;
  int *local_60;
  undefined4 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  uint *local_34;
  uint local_30;
  uint local_2c;
  undefined4 local_28;
  
  if (((*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') ||
      (*(int *)(*(int *)(param_1 + 4) + 0xbc) == 0)) && (*(int *)(param_1 + 0x184) != 0)) {
    uVar12 = FUN_0009b0e0(param_1,2,6);
    FUN_000f3190(uVar12,*(undefined4 *)(param_1 + 0x184),6);
    iVar3 = *(int *)(param_1 + 0x18c);
  }
  else {
    iVar3 = *(int *)(param_1 + 0x18c);
  }
  if (iVar3 == 0) {
    return;
  }
  local_60 = *(int **)(param_2 + 0xc);
  if (local_60 != *(int **)(param_2 + 0x10)) {
    do {
      while( true ) {
        bVar2 = *(byte *)(*local_60 + 0x2c);
        if (((bVar2 & 2) != 0) || ((bVar2 & 0x40) == 0)) break;
LAB_0009d1fa:
        local_60 = local_60 + 1;
        if (*(int **)(param_2 + 0x10) == local_60) goto LAB_0009d268;
      }
      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),
                                      *(undefined4 *)(*local_60 + 0x38),1,0);
      local_2c = 1;
      puVar8 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffc;
      if (puVar8 != *(uint **)(iVar3 + 0x34)) {
        *puVar8 = (uint)local_34;
        puVar8[1] = local_30;
        puVar8[2] = 1;
        puVar8[3] = 0xfffffffc;
        *(uint **)(iVar3 + 0x30) = puVar8 + 4;
        goto LAB_0009d1fa;
      }
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
      local_60 = local_60 + 1;
    } while (*(int **)(param_2 + 0x10) != local_60);
  }
LAB_0009d268:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  if ((*(char *)(iVar11 + 0x1a25) != '\0') && (*(int *)(iVar11 + 0x1aa4) != 0)) {
    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1aa4),1,0);
    local_2c = 0xe;
    puVar8 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xfffffffc;
    if (puVar8 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    }
    else {
      *puVar8 = (uint)local_34;
      puVar8[1] = local_30;
      puVar8[2] = 0xe;
      puVar8[3] = 0xfffffffc;
      *(uint **)(iVar3 + 0x30) = puVar8 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
  }
  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(iVar11 + 0x1f20),0);
  if (puVar8 != (uint *)0x0) {
    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {
      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {
        cVar7 = FUN_00177470(puVar8[3]);
        if (cVar7 == '\0') {
          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dd08;
          goto LAB_0009dd61;
        }
      }
      else if (puVar8[3] != 0) {
LAB_0009dd61:
        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dd08;
      }
    }
    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {
LAB_0009dd08:
      local_2c = 0xc;
      puVar10 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffd;
      local_34 = puVar8;
      if (puVar10 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
      }
      else {
        *puVar10 = (uint)puVar8;
        puVar10[1] = local_30;
        puVar10[2] = 0xc;
        puVar10[3] = 0xfffffffd;
        *(uint **)(iVar3 + 0x30) = puVar10 + 4;
      }
    }
  }
  if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
  puVar8 = (uint *)FUN_00179ab0(param_3,*(undefined4 *)(*(int *)(DAT_0038f378 + 8) + 0x1538),0);
  if (puVar8 != (uint *)0x0) {
    if ((*(byte *)((int)puVar8 + 0x2a) & 7) == 0) {
      if ((*(byte *)((int)puVar8 + 0x2b) & 0x20) == 0) {
        cVar7 = FUN_00177470(puVar8[3]);
        if (cVar7 == '\0') {
          if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 0) goto LAB_0009dcc0;
          goto LAB_0009dd91;
        }
      }
      else if (puVar8[3] != 0) {
LAB_0009dd91:
        if ((*(byte *)(puVar8[2] + 0x2c) & 1) == 0) goto LAB_0009dcc0;
      }
    }
    else if ((*(byte *)((int)puVar8 + 0x2a) & 7) != 4) {
LAB_0009dcc0:
      local_2c = 0xd;
      puVar10 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffd;
      local_34 = puVar8;
      if (puVar10 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
      }
      else {
        *puVar10 = (uint)puVar8;
        puVar10[1] = local_30;
        puVar10[2] = 0xd;
        puVar10[3] = 0xfffffffd;
        *(uint **)(iVar3 + 0x30) = puVar10 + 4;
      }
    }
  }
  puVar8 = *(uint **)(param_1 + 0x130);
  iVar11 = iVar3 + 0x2c;
  if (puVar8 != *(uint **)(param_1 + 0x134)) {
    do {
      while( true ) {
        puVar10 = (uint *)*puVar8;
        uVar4 = puVar10[0x14];
        if (uVar4 != 0xf) break;
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x1a;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x1a;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x1c;
        local_28 = 0xfffffffe;
        local_30 = 0;
        if (puVar14 == puVar15) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          goto LAB_0009d3b9;
        }
LAB_0009d43e:
        local_28 = 0xfffffffe;
        local_30 = 0;
        *puVar15 = (uint)puVar10;
        puVar8 = puVar8 + 1;
        puVar15[1] = 0;
        puVar15[2] = local_2c;
        puVar15[3] = 0xfffffffe;
        *(uint **)(iVar3 + 0x30) = puVar15 + 4;
        local_34 = puVar10;
        if (*(uint **)(param_1 + 0x134) == puVar8) goto LAB_0009d46a;
      }
      if (uVar4 == 0x10) {
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x20;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x20;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x21;
      }
      else {
        if (uVar4 != 0xe) goto LAB_0009d3b9;
        puVar5 = *(uint **)(iVar3 + 0x30);
        puVar14 = *(uint **)(iVar3 + 0x34);
        local_2c = 0x19;
        local_28 = 0;
        local_30 = 0;
        if (puVar5 == puVar14) {
          local_34 = puVar10;
          FUN_000a5aa0(iVar11,puVar14,&local_34);
          puVar10 = (uint *)*puVar8;
          puVar15 = *(uint **)(iVar3 + 0x30);
          puVar14 = *(uint **)(iVar3 + 0x34);
        }
        else {
          *puVar5 = (uint)puVar10;
          puVar15 = puVar5 + 4;
          puVar5[1] = 0;
          puVar5[2] = 0x19;
          puVar5[3] = 0;
          *(uint **)(iVar3 + 0x30) = puVar15;
        }
        local_2c = 0x1b;
      }
      local_28 = 0xfffffffe;
      local_30 = 0;
      if (puVar15 != puVar14) goto LAB_0009d43e;
      local_34 = puVar10;
      FUN_000a5aa0(iVar11,puVar15,&local_34);
LAB_0009d3b9:
      puVar8 = puVar8 + 1;
    } while (*(uint **)(param_1 + 0x134) != puVar8);
  }
LAB_0009d46a:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  puVar17 = *(undefined4 **)(iVar11 + 0x33d4);
  if (puVar17 != *(undefined4 **)(iVar11 + 0x33d8)) {
    local_30 = 0;
    local_2c = local_2c & 0xffffff00;
    local_34 = &local_2c;
    do {
      uVar4 = local_30;
      if (local_30 == 0) {
                    /* try { // try from 0009d4c2 to 0009d57c has its CatchHandler @ 0009df07 */
        FUN_001ee9c0(&local_34,puVar17);
        __n = extraout_ECX;
      }
      else {
        puVar13 = *(undefined4 **)(iVar11 + 0x33d4);
        if (puVar13 != puVar17) {
          __n = puVar17[1];
          do {
            if ((puVar13[1] == __n) &&
               ((__n == 0 || (iVar9 = memcmp((void *)*puVar13,(void *)*puVar17,__n), iVar9 == 0))))
            {
              if (puVar17 != puVar13) {
                if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;
                goto LAB_0009d4d8;
              }
              break;
            }
            puVar13 = puVar13 + 7;
          } while (puVar17 != puVar13);
        }
        uVar1 = uVar4 + 1;
        uVar16 = 0xf;
        if (local_34 != &local_2c) {
          uVar16 = local_2c;
        }
        if (uVar16 < uVar1) {
                    /* try { // try from 0009ddb5 to 0009ddb9 has its CatchHandler @ 0009df07 */
          FUN_001eeaa0(&local_34,uVar4,0,0,1);
        }
        *(undefined1 *)((int)local_34 + uVar4) = 0x3a;
        *(undefined1 *)((int)local_34 + uVar1) = 0;
        local_30 = uVar1;
                    /* try { // try from 0009d8a5 to 0009d8a9 has its CatchHandler @ 0009df07 */
        FUN_001f05c0(&local_34,*puVar17,puVar17[1]);
        __n = extraout_ECX_00;
      }
      if (*(undefined4 **)(iVar11 + 0x33d8) == puVar17 + 7) goto LAB_0009d54c;
LAB_0009d4d8:
      puVar17 = puVar17 + 7;
    } while( true );
  }
LAB_0009d5ce:
  if (*(char *)(*(int *)(param_1 + 4) + 0xac) == '\0') {
    piVar18 = *(int **)(param_1 + 0x124);
    if (piVar18 != *(int **)(param_1 + 0x128)) {
      do {
        iVar11 = *piVar18;
        if (((*(int *)(iVar11 + 0x194) == 1) && ((*(byte *)(iVar11 + 0x198) & 2) == 0)) &&
           (cVar7 = FUN_000eff40(iVar11), cVar7 != '\0')) goto LAB_0009d929;
        piVar18 = piVar18 + 1;
      } while (*(int **)(param_1 + 0x128) != piVar18);
    }
  }
  else {
    for (piVar18 = *(int **)(param_1 + 0x130); piVar18 != *(int **)(param_1 + 0x134);
        piVar18 = piVar18 + 1) {
      uVar4 = *(uint *)(*piVar18 + 0x54);
      if ((((uVar4 & 2) != 0) && ((uVar4 & 1) == 0)) && ((*(byte *)(*piVar18 + 0x1c) & 0x10) != 0))
      goto LAB_0009d929;
    }
  }
  bVar6 = false;
LAB_0009d624:
  iVar11 = *(int *)(DAT_0038f378 + 8);
  if (iVar11 == 0) goto LAB_0009db81;
  if (*(int *)(iVar11 + 0x1478) != 0) {
    local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),*(int *)(iVar11 + 0x1478),1,0);
    local_2c = 0x7fffffff;
    puVar8 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xfffffffc;
    if (puVar8 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    }
    else {
      *puVar8 = (uint)local_34;
      puVar8[1] = local_30;
      puVar8[2] = 0x7fffffff;
      puVar8[3] = 0xfffffffc;
      *(uint **)(iVar3 + 0x30) = puVar8 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
  }
  if ((*(int *)(iVar11 + 0x1428) != 0) &&
     (piVar18 = *(int **)(iVar11 + 0x1424), piVar18 != (int *)0x0)) {
    do {
      local_34 = (uint *)FUN_00174930(*(undefined4 *)(iVar3 + 0x38),piVar18[1],1,0);
      local_2c = 0x7ffffffd;
      puVar8 = *(uint **)(iVar3 + 0x30);
      local_28 = 0xfffffffc;
      if (puVar8 == *(uint **)(iVar3 + 0x34)) {
        FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
      }
      else {
        *puVar8 = (uint)local_34;
        puVar8[1] = local_30;
        puVar8[2] = 0x7ffffffd;
        puVar8[3] = 0xfffffffc;
        *(uint **)(iVar3 + 0x30) = puVar8 + 4;
      }
      piVar18 = (int *)*piVar18;
      if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
    } while (piVar18 != (int *)0x0);
  }
  if (bVar6) {
    local_2c = 0x16;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = (uint *)0x0;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);
    }
    else {
      *puVar17 = 0;
      puVar17[1] = local_30;
      puVar17[2] = 0x16;
      puVar17[3] = 0xffffffff;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) goto LAB_0009db81;
    if (*(char *)(iVar11 + 0x577d) != '\0') {
      uVar12 = gettext("read-only segment has dynamic relocations");
      FUN_000654b0(uVar12);
LAB_0009dde4:
      iVar11 = *(int *)(DAT_0038f378 + 8);
      if (iVar11 == 0) goto LAB_0009db81;
      cVar7 = *(char *)(iVar11 + 0x1a25);
      puVar8 = (uint *)0x4;
      goto LAB_0009d9a3;
    }
    cVar7 = *(char *)(iVar11 + 0x1a25);
    puVar8 = (uint *)0x4;
    if (*(char *)(iVar11 + 0x4749) == '\0') goto LAB_0009d9a3;
    if (cVar7 != '\0') {
      uVar12 = gettext("shared library text segment is not shareable");
      FUN_000654e0(uVar12);
      goto LAB_0009dde4;
    }
  }
  else {
    puVar8 = (uint *)0x0;
    iVar11 = *(int *)(DAT_0038f378 + 8);
    cVar7 = *(char *)(iVar11 + 0x1a25);
LAB_0009d9a3:
    if ((cVar7 != '\0') && (*(char *)(param_1 + 0x1c9) != '\0')) {
      puVar8 = (uint *)((uint)puVar8 | 0x10);
    }
  }
  if (*(char *)(iVar11 + 0x563d) != '\0') {
    puVar8 = (uint *)((uint)puVar8 | 1);
  }
  if ((*(char *)(iVar11 + 0x825) == '\0') || (*(char *)(iVar11 + 0x5a0c) != '\0')) {
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (*(char *)(iVar11 + 0x55c1) != '\0') {
LAB_0009db37:
      puVar8 = (uint *)((uint)puVar8 | 8);
      goto LAB_0009db3a;
    }
    if (puVar8 != (uint *)0x0) goto LAB_0009db3a;
  }
  else {
    puVar8 = (uint *)((uint)puVar8 | 2);
    local_2c = 0x10;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = (uint *)0x0;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,&local_34);
    }
    else {
      *puVar17 = 0;
      puVar17[1] = local_30;
      puVar17[2] = 0x10;
      puVar17[3] = 0xffffffff;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
    if (*(int *)(DAT_0038f378 + 8) == 0) goto LAB_0009db81;
    if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x55c1) != '\0') goto LAB_0009db37;
LAB_0009db3a:
    local_2c = 0x1e;
    puVar10 = *(uint **)(iVar3 + 0x30);
    local_28 = 0xffffffff;
    local_34 = puVar8;
    if (puVar10 == *(uint **)(iVar3 + 0x34)) {
      FUN_000a5aa0(iVar3 + 0x2c,puVar10,&local_34);
    }
    else {
      *puVar10 = (uint)puVar8;
      puVar10[1] = local_30;
      puVar10[2] = 0x1e;
      puVar10[3] = 0xffffffff;
      *(uint **)(iVar3 + 0x30) = puVar10 + 4;
    }
    iVar11 = *(int *)(DAT_0038f378 + 8);
    if (iVar11 == 0) {
LAB_0009db81:
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/parameters.h",0x5c,"options");
    }
  }
  local_34 = (uint *)((uint)(*(char *)(iVar11 + 0x4fad) != '\0') * 2);
  if (*(char *)(iVar11 + 0x5029) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x20);
  }
  if (*(char *)(iVar11 + 0x50a5) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x400);
  }
  if (*(char *)(iVar11 + 0x5199) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x10);
  }
  if (*(char *)(iVar11 + 0x5355) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x800);
  }
  if (*(char *)(iVar11 + 0x53d1) != '\0') {
    local_34 = (uint *)((uint)local_34 | 8);
  }
  if (*(char *)(iVar11 + 0x544d) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x40);
  }
  if (*(char *)(iVar11 + 0x54c9) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x1000);
  }
  if (*(char *)(iVar11 + 0x1a25) == '\0') {
    local_34 = (uint *)((uint)local_34 & 0xffffff97);
  }
  if (*(char *)(iVar11 + 0x563d) != '\0') {
    local_34 = (uint *)((uint)local_34 | 0x80);
  }
  if (*(char *)(iVar11 + 0x55c1) == '\0') {
    if (*(char *)(iVar11 + 0x72d) == '\0') {
      if (local_34 == (uint *)0x0) {
        return;
      }
      goto LAB_0009da89;
    }
  }
  else {
    local_34 = (uint *)((uint)local_34 | 1);
    if (*(char *)(iVar11 + 0x72d) == '\0') goto LAB_0009da89;
  }
  local_34 = (uint *)((uint)local_34 | 4);
LAB_0009da89:
  local_2c = 0x6ffffffb;
  puVar8 = *(uint **)(iVar3 + 0x30);
  local_28 = 0xffffffff;
  if (puVar8 == *(uint **)(iVar3 + 0x34)) {
    FUN_000a5aa0(iVar3 + 0x2c,puVar8,&local_34);
    return;
  }
  *puVar8 = (uint)local_34;
  puVar8[1] = local_30;
  puVar8[2] = 0x6ffffffb;
  puVar8[3] = 0xffffffff;
  *(uint **)(iVar3 + 0x30) = puVar8 + 4;
  return;
LAB_0009d54c:
  if (*(int *)(DAT_0038f378 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0009df02 to 0009df06 has its CatchHandler @ 0009df07 */
    FUN_00069d00("../../gold/parameters.h",0x5c,"options",__n);
  }
  if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x117d) == '\0') {
                    /* try { // try from 0009d941 to 0009d945 has its CatchHandler @ 0009df07 */
    local_54 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);
    local_4c = 0xf;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_48 = 0xfffffffc;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      puVar13 = &local_54;
      goto LAB_0009de3d;
    }
    *puVar17 = local_54;
    puVar17[1] = local_50;
    puVar17[2] = 0xf;
    puVar17[3] = 0xfffffffc;
    *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
  }
  else {
    local_44 = FUN_00174930(*(undefined4 *)(iVar3 + 0x38),local_34,1,0);
    local_3c = 0x1d;
    puVar17 = *(undefined4 **)(iVar3 + 0x30);
    local_38 = 0xfffffffc;
    if (puVar17 == *(undefined4 **)(iVar3 + 0x34)) {
      puVar13 = &local_44;
LAB_0009de3d:
                    /* try { // try from 0009de43 to 0009de47 has its CatchHandler @ 0009df07 */
      FUN_000a5aa0(iVar3 + 0x2c,puVar17,puVar13);
    }
    else {
      *puVar17 = local_44;
      puVar17[1] = local_40;
      puVar17[2] = 0x1d;
      puVar17[3] = 0xfffffffc;
      *(undefined4 **)(iVar3 + 0x30) = puVar17 + 4;
    }
  }
  if (local_34 != &local_2c) {
    FUN_001e6db0(local_34);
  }
  goto LAB_0009d5ce;
LAB_0009d929:
  bVar6 = true;
  goto LAB_0009d624;
}

