
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_local_entries(Mips_got_info<32,_false> * this,
   Target_mips<32,_false> * target, Layout * layout) */

void __thiscall
anon_unknown.dwarf_ead2ad::Mips_got_info<32,_false>::add_local_entries
          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)

{
  uint uVar1;
  size_t *psVar2;
  Mips_got_info<32,_false> *this_00;
  _Hash_node_base *p_Var3;
  _func_int_varargs *p_Var4;
  int *piVar5;
  General_options *pGVar6;
  Mips_output_data_got<32,_false> *this_01;
  iterator __position;
  Symbol *gsym;
  Mips_got_info<32,_false> *pMVar7;
  Got_entry got_entry;
  Got_entry got_entry_00;
  Got_entry got_entry_01;
  Got_entry got_entry_02;
  anon_union_8_4_c82d8563_for_u1_ aVar8;
  undefined1 *puVar9;
  bool bVar10;
  uint uVar11;
  uint address;
  Address address_00;
  const_iterator cVar12;
  Output_data_reloc_base<9,_true,_32,_false> *pOVar13;
  Reloc_section *pRVar14;
  Got_offset_list *pGVar15;
  Sized_relobj<32,_false> *relobj;
  Output_reloc<9,_true,_32,_false> *pOVar16;
  long lVar17;
  uint uVar18;
  _Hash_node_base *p_Var19;
  undefined1 uVar20;
  undefined7 uVar21;
  Mips_got_info<32,_false> *local_60;
  Local_got_entry_key key;
  Address local_48;
  uint uStack_44;
  uint uStack_40;
  uint uStack_3c;
  
  this_00 = (Mips_got_info<32,_false> *)target->got_;
  local_60 = this;
  if (this_00 != (Mips_got_info<32,_false> *)0x0) {
    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
    key.symndx_ = 0;
    uVar20 = (undefined1)_local_48;
    uVar21 = SUB87(_local_48,1);
    got_entry._8_1_ = 0xfe;
    got_entry.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
    got_entry._9_7_ = (int7)(key.addend_ >> 8);
    got_entry.addend_._0_1_ = uVar20;
    got_entry.addend_._1_7_ = uVar21;
    gold::Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)
    ;
    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
    key.symndx_ = 0x80000000;
    got_entry_00.u_._4_4_ = key._4_4_;
    got_entry_00.u_.constant = 0x80000000;
    got_entry_00._8_1_ = 0xfe;
    got_entry_00._9_7_ = (int7)(key.addend_ >> 8);
    got_entry_00.addend_._0_1_ = uVar20;
    got_entry_00.addend_._1_7_ = uVar21;
    local_60 = this_00;
    gold::Output_data_got<32,_false>::add_got_entry
              ((Output_data_got<32,_false> *)this_00,got_entry_00);
    p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;
    if (p_Var19 == (_Hash_node_base *)0x0) {
      if (this->page_gotno_ == 0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          p_Var3 = p_Var19[1]._M_nxt;
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;
LAB_002d82c0:
          p_Var19 = p_Var19->_M_nxt;
          if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;
        }
        gold::Output_data_got<32,_false>::add_local
                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,
                   (ulong)*(uint *)&p_Var3->_M_nxt);
        uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
        if (uVar11 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");
        }
        local_60 = (Mips_got_info<32,_false> *)p_Var3[1]._M_nxt;
        p_Var4 = (((Output_data_got<32,_false> *)&local_60->local_gotno_)->
                 super_Output_data_got_base).super_Output_section_data_build.
                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c];
        if (p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset) {
          local_60 = (Mips_got_info<32,_false> *)
                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;
          key.symndx_ = uVar11;
          key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;
          cVar12 = std::
                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                           *)local_60,(key_type *)&key);
          if (cVar12.
              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>
              ._M_cur == (__node_type *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");
          }
          piVar5 = *(int **)((long)cVar12.
                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>
                                   ._M_cur + 0x18);
          while( true ) {
            if (piVar5 == (int *)0x0) goto LAB_002d8868;
            if (*piVar5 == 0) break;
            piVar5 = *(int **)(piVar5 + 2);
          }
          address_00 = piVar5[1];
          if (address_00 == 0xffffffff) {
LAB_002d8868:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");
          }
        }
        else {
          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);
        }
        if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==
             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0)) goto LAB_002d82c0;
        pGVar6 = gold::parameters->options_;
        if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
        if (((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false))
        goto LAB_002d82c0;
        if (*(char *)((long)&p_Var3[2]._M_nxt + 1) == '\0') {
          local_60 = (Mips_got_info<32,_false> *)
                     Target_mips<32,_false>::rel_dyn_section
                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if (uVar11 == 0xffffffff) {
LAB_002d88e0:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");
          }
          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;
          bVar10 = false;
        }
        else {
          local_60 = (Mips_got_info<32,_false> *)
                     Target_mips<32,_false>::rel_dyn_section
                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if (uVar11 == 0xffffffff) goto LAB_002d88e0;
          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;
          bVar10 = true;
        }
        gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                  ((Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,
                   address_00,false,bVar10,false,false);
        gold::Output_data_reloc_base<9,_true,_32,_false>::add
                  ((Output_data_reloc_base<9,_true,_32,_false> *)local_60,(Output_data *)this_00,
                   (Output_reloc<9,_true,_32,_false> *)&key);
        p_Var19 = p_Var19->_M_nxt;
      } while (p_Var19 != (_Hash_node_base *)0x0);
LAB_002d8430:
      if (this->page_gotno_ == 0) goto LAB_002d86dc;
    }
    this_01 = target->got_;
    if (this_01 != (Mips_output_data_got<32,_false> *)0x0) {
      key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
      key.symndx_ = 0;
      got_entry_01._8_1_ = 0xfe;
      got_entry_01.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
      got_entry_01._9_7_ = (int7)(key.addend_ >> 8);
      got_entry_01.addend_._0_1_ = uVar20;
      got_entry_01.addend_._1_7_ = uVar21;
      uVar11 = gold::Output_data_got<32,_false>::add_got_entry
                         (&this_01->super_Output_data_got<32,_false>,got_entry_01);
      pMVar7 = this_01->primary_got_;
      this->got_page_offset_start_ = uVar11;
      if ((pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
        pGVar6 = gold::parameters->options_;
        if (pGVar6 == (General_options *)0x0) {
LAB_002d8898:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
          pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)
                    Target_mips<32,_false>::rel_dyn_section
                              ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                    ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,
                     this->got_page_offset_start_,false);
          gold::Output_data_reloc_base<9,_true,_32,_false>::add
                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);
          uVar11 = this->got_page_offset_start_;
        }
      }
      uVar18 = this->page_gotno_;
      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {
        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
        key.symndx_ = 0;
        got_entry_02._8_1_ = 0xfe;
        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);
        got_entry_02.addend_._0_1_ = uVar20;
        got_entry_02.addend_._1_7_ = uVar21;
        address = gold::Output_data_got<32,_false>::add_got_entry
                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);
        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
          pGVar6 = gold::parameters->options_;
          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
            pRVar14 = Target_mips<32,_false>::rel_dyn_section
                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
            gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,
                       false);
            __position._M_current =
                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                 ._M_impl._M_finish;
            if (__position._M_current ==
                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                ._M_impl._M_end_of_storage) {
              std::
              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>
                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,
                         (Output_reloc<9,_true,_32,_false> *)&key);
              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                        ._M_impl._M_finish;
            }
            else {
              aVar8._4_4_ = key._4_4_;
              aVar8._0_4_ = key.symndx_;
              pOVar16 = __position._M_current + 1;
              (__position._M_current)->u1_ = aVar8;
              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;
              (__position._M_current)->address_ = local_48;
              (__position._M_current)->local_sym_index_ = uStack_44;
              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);
              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
              ._M_impl._M_finish = pOVar16;
            }
            lVar17 = (long)pOVar16 -
                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                           ._M_impl._M_start >> 5;
            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.
                 super_Output_section_data_build.super_Output_section_data.super_Output_data.
                 field_0x20 & 2) != 0) goto LAB_002d88fd;
            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.
            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =
                 lVar17 * 8;
            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.
                      super_Output_section_data_build.super_Output_section_data.super_Output_data.
                      field_0x20;
            *puVar9 = *puVar9 | 0x10;
            if ((uStack_40 & 0x10000000) != 0) {
              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                        super_Output_data_reloc_base<9,_true,_32,_false>.
                        super_Output_data_reloc_generic.relative_reloc_count_;
              *psVar2 = *psVar2 + 1;
            }
            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {
              if (*(int *)(key.addend_ + 0xa4) == 0) {
                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;
              }
              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;
            }
          }
        }
        uVar1 = uVar11 + 4;
        uVar11 = address;
        if (address != uVar1) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");
        }
      }
      this->got_page_offset_next_ = this->got_page_offset_start_;
LAB_002d86dc:
      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;
      do {
        if (p_Var19 == (_Hash_node_base *)0x0) {
          return;
        }
        p_Var3 = p_Var19[1]._M_nxt;
        if (((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&
            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&
           (*(char *)&p_Var3[2]._M_nxt == '\0')) {
          uVar11 = 0;
          if ((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=
              (Mips_got_info<32,_false> *)0x0) {
            uVar11 = this->index_ + 3;
          }
          bVar10 = gold::Output_data_got<32,_false>::add_global
                             ((Output_data_got<32,_false> *)this_00,gsym,uVar11);
          if (bVar10) {
            pGVar15 = &gsym->got_offsets_;
            while (uVar11 != pGVar15->got_type_) {
              pGVar15 = pGVar15->got_next_;
              if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;
            }
            uVar18 = pGVar15->got_offset_;
            if (uVar18 == 0xffffffff) {
LAB_002d875e:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");
            }
            if ((gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_)) {
              gsym[1].dynsym_index_ = uVar18;
            }
            if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=
                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
              pGVar6 = gold::parameters->options_;
              if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
              if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
                pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)
                          Target_mips<32,_false>::rel_dyn_section
                                    ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
                uVar11 = gold::Symbol::got_offset(gsym,uVar11);
                gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                          ((Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,
                           uVar11,false,true,false);
                gold::Output_data_reloc_base<9,_true,_32,_false>::add
                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);
              }
            }
          }
        }
        p_Var19 = p_Var19->_M_nxt;
      } while( true );
    }
  }
  Target_mips<32,_false>::got_section((Target_mips<32,_false> *)local_60);
LAB_002d88fd:
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
}



void FUN_002d8220(long param_1,long param_2,undefined8 param_3)

{
  uint uVar1;
  long lVar2;
  uint *puVar3;
  long *plVar4;
  undefined8 *puVar5;
  char cVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 uVar10;
  long lVar11;
  undefined8 uVar12;
  long lVar13;
  int *piVar14;
  undefined8 *puVar15;
  long lVar16;
  int iVar17;
  long *plVar18;
  undefined8 uVar19;
  undefined8 local_60;
  uint local_58;
  undefined4 uStack_54;
  ulong uStack_50;
  undefined8 local_48;
  uint uStack_40;
  int iStack_3c;
  
  lVar2 = *(long *)(param_2 + 0x20);
  if (lVar2 != 0) {
    uStack_50._0_4_ = 0x7ffffffe;
    local_58 = 0;
    FUN_003e1b00(lVar2);
    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
    local_58 = 0x80000000;
    FUN_003e1b00(lVar2);
    plVar18 = *(long **)(param_1 + 0x60);
    if (plVar18 == (long *)0x0) {
      if (*(int *)(param_1 + 4) == 0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          puVar3 = (uint *)plVar18[1];
          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;
LAB_002d82c0:
          plVar18 = (long *)*plVar18;
          if (plVar18 == (long *)0x0) goto LAB_002d8430;
        }
        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);
        uVar1 = puVar3[1];
        if (uVar1 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");
        }
        plVar4 = *(long **)(puVar3 + 2);
        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {
          local_58 = uVar1;
          uStack_50 = (ulong)*puVar3;
          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);
          if (lVar11 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");
          }
          piVar14 = *(int **)(lVar11 + 0x18);
          while( true ) {
            if (piVar14 == (int *)0x0) goto LAB_002d8868;
            if (*piVar14 == 0) break;
            piVar14 = *(int **)(piVar14 + 2);
          }
          iVar7 = piVar14[1];
          if (iVar7 == -1) {
LAB_002d8868:
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");
          }
        }
        else {
          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);
        }
        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;
        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar11 == 0) goto LAB_002d8898;
        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))
        goto LAB_002d82c0;
        if (*(char *)((long)puVar3 + 0x11) == '\0') {
          local_60 = FUN_002af840(param_2 + 0x40,param_3);
          uVar1 = puVar3[1];
          if (uVar1 == 0xffffffff) {
LAB_002d88e0:
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");
          }
          uVar12 = *(undefined8 *)(puVar3 + 2);
          uVar19 = 0;
        }
        else {
          local_60 = FUN_002af840(param_2 + 0x40,param_3);
          uVar1 = puVar3[1];
          if (uVar1 == 0xffffffff) goto LAB_002d88e0;
          uVar12 = *(undefined8 *)(puVar3 + 2);
          uVar19 = 1;
        }
        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);
        FUN_001a67c0(local_60,lVar2,&local_58);
        plVar18 = (long *)*plVar18;
      } while (plVar18 != (long *)0x0);
LAB_002d8430:
      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;
    }
    lVar11 = *(long *)(param_2 + 0x20);
    if (lVar11 != 0) {
      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
      local_58 = 0;
      iVar7 = FUN_003e1b00(lVar11);
      lVar13 = *(long *)(lVar11 + 0xd0);
      *(int *)(param_1 + 0xc0) = iVar7;
      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {
        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar13 == 0) {
LAB_002d8898:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/parameters.h",0x5c,"options");
        }
        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {
          uVar12 = FUN_002af840(param_2 + 0x40,param_3);
          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);
          FUN_001a67c0(uVar12,lVar11,&local_58);
          iVar7 = *(int *)(param_1 + 0xc0);
        }
      }
      iVar17 = *(int *)(param_1 + 4);
      while (iVar17 = iVar17 + -1, 0 < iVar17) {
        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
        local_58 = 0;
        iVar9 = FUN_003e1b00(lVar11);
        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {
          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
          if (lVar13 == 0) goto LAB_002d8898;
          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {
            lVar13 = FUN_002af840(param_2 + 0x40,param_3);
            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);
            puVar5 = *(undefined8 **)(lVar13 + 0x50);
            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {
              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);
              puVar15 = *(undefined8 **)(lVar13 + 0x50);
            }
            else {
              puVar15 = puVar5 + 4;
              *puVar5 = CONCAT44(uStack_54,local_58);
              puVar5[1] = uStack_50;
              puVar5[2] = local_48;
              puVar5[3] = CONCAT44(iStack_3c,uStack_40);
              *(undefined8 **)(lVar13 + 0x50) = puVar15;
            }
            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;
            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;
            *(long *)(lVar13 + 0x10) = lVar16 * 8;
            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;
            if ((uStack_40 & 0x10000000) != 0) {
              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;
            }
            if ((iStack_3c != -4) && (uStack_50 != 0)) {
              if (*(int *)(uStack_50 + 0xa4) == 0) {
                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;
              }
              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;
            }
          }
        }
        iVar8 = iVar7 + 4;
        iVar7 = iVar9;
        if (iVar9 != iVar8) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");
        }
      }
      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);
LAB_002d86dc:
      puVar5 = *(undefined8 **)(param_1 + 0x60);
      do {
        if (puVar5 == (undefined8 *)0x0) {
          return;
        }
        lVar11 = puVar5[1];
        if (((*(int *)(lVar11 + 4) == -1) &&
            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&
           (*(char *)(lVar11 + 0x10) == '\0')) {
          iVar7 = 0;
          if (*(long *)(lVar2 + 0xd0) != 0) {
            iVar7 = *(int *)(param_1 + 0x108) + 3;
          }
          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);
          if (cVar6 != '\0') {
            piVar14 = (int *)(lVar13 + 0x28);
            while (iVar7 != *piVar14) {
              piVar14 = *(int **)(piVar14 + 2);
              if (piVar14 == (int *)0x0) goto LAB_002d875e;
            }
            uVar1 = piVar14[1];
            if (uVar1 == 0xffffffff) {
LAB_002d875e:
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");
            }
            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {
              *(uint *)(lVar13 + 0x60) = uVar1;
            }
            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {
              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);
              if (lVar11 == 0) goto LAB_002d8898;
              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {
                uVar12 = FUN_002af840(param_2 + 0x40,param_3);
                uVar10 = FUN_00228f60(lVar13,iVar7);
                uVar19 = 0;
                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);
                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);
              }
            }
          }
        }
        puVar5 = (undefined8 *)*puVar5;
      } while( true );
    }
  }
  FUN_00290940();
LAB_002d88fd:
                    /* WARNING: Subroutine does not return */
  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x48
MOV RBX,qword ptr [RSI + 0x20]
MOV qword ptr [RSP + 0x10],RSI
MOV qword ptr [RSP + 0x8],RDX
TEST RBX,RBX
JZ 0x002d88f8
MOV dword ptr [RSP + 0x28],0x7ffffffe
SUB RSP,0x8
MOV RBP,RDI
MOV RDI,RBX
MOV dword ptr [RSP + 0x28],0x0
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
CALL 0x003e1b00
MOV dword ptr [RSP + 0x48],0x7ffffffe
MOV RDI,RBX
MOV dword ptr [RSP + 0x40],0x80000000
ADD RSP,0x18
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
CALL 0x003e1b00
MOV R15,qword ptr [RBP + 0x60]
ADD RSP,0x20
TEST R15,R15
JZ 0x002d8780
MOV RAX,qword ptr [RSP + 0x10]
LEA R12,[RSP + 0x20]
ADD RAX,0x40
MOV qword ptr [RSP],RAX
JMP 0x002d82cc
MOV R15,qword ptr [R15]
TEST R15,R15
JZ 0x002d8430
MOV R13,qword ptr [R15 + 0x8]
MOV EDX,dword ptr [R13 + 0x4]
CMP EDX,-0x1
JZ 0x002d82c0
CMP byte ptr [R13 + 0x10],0x0
JNZ 0x002d82c0
MOV RSI,qword ptr [R13 + 0x8]
MOV R8D,dword ptr [R13]
XOR ECX,ECX
MOV RDI,RBX
CALL 0x003e2140
MOV ESI,dword ptr [R13 + 0x4]
CMP ESI,-0x1
JZ 0x002d88c8
MOV RDI,qword ptr [R13 + 0x8]
LEA RDX,[0x22eac0]
MOV ECX,dword ptr [R13]
MOV RAX,qword ptr [RDI]
MOV RAX,qword ptr [RAX + 0x160]
CMP RAX,RDX
JNZ 0x002d8690
MOV dword ptr [RSP + 0x20],ESI
ADD RDI,0xa8
MOV RSI,R12
MOV qword ptr [RSP + 0x28],RCX
CALL 0x0022e8e0
TEST RAX,RAX
JZ 0x002d88b0
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JNZ 0x002d835d
JMP 0x002d8868
MOV RAX,qword ptr [RAX + 0x8]
TEST RAX,RAX
JZ 0x002d8868
MOV R11D,dword ptr [RAX]
TEST R11D,R11D
JNZ 0x002d8350
MOV R14D,dword ptr [RAX + 0x4]
CMP R14D,-0x1
JZ 0x002d8868
CMP qword ptr [RBX + 0xd0],0x0
JZ 0x002d82c0
MOV R10D,dword ptr [RBP + 0x108]
TEST R10D,R10D
JZ 0x002d82c0
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002d8898
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x002d83bb
CMP byte ptr [RAX + 0x42d1],0x0
JZ 0x002d82c0
CMP byte ptr [R13 + 0x11],0x0
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RSP]
JNZ 0x002d86a0
CALL 0x002af840
MOV EDX,dword ptr [R13 + 0x4]
CMP EDX,-0x1
JZ 0x002d88e0
MOV qword ptr [RSP + 0x18],RAX
MOV RSI,qword ptr [R13 + 0x8]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x0
MOV R9D,R14D
MOV R8,RBX
MOV ECX,0x3
MOV RDI,R12
CALL 0x003d7520
ADD RSP,0x20
MOV RDX,R12
MOV RSI,RBX
MOV RAX,qword ptr [RSP + 0x18]
MOV RDI,RAX
CALL 0x001a67c0
MOV R15,qword ptr [R15]
TEST R15,R15
JNZ 0x002d82cc
NOP dword ptr [RAX + RAX*0x1]
MOV R9D,dword ptr [RBP + 0x4]
TEST R9D,R9D
JZ 0x002d86dc
MOV RAX,qword ptr [RSP + 0x10]
MOV R12,qword ptr [RAX + 0x20]
TEST R12,R12
JZ 0x002d88f8
MOV dword ptr [RSP + 0x28],0x7ffffffe
SUB RSP,0x8
MOV RDI,R12
MOV dword ptr [RSP + 0x28],0x0
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
CALL 0x003e1b00
ADD RSP,0x20
CMP qword ptr [R12 + 0xd0],0x0
MOV R15D,EAX
MOV dword ptr [RBP + 0xc0],EAX
JZ 0x002d8505
MOV R8D,dword ptr [RBP + 0x108]
TEST R8D,R8D
JZ 0x002d8505
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002d8898
CMP byte ptr [RAX + 0x2a61],0x0
JZ 0x002d8851
MOV RAX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
LEA R13,[RSP + 0x20]
LEA RDI,[RAX + 0x40]
CALL 0x002af840
XOR R8D,R8D
MOV RDX,R12
MOV ESI,0x3
MOV ECX,dword ptr [RBP + 0xc0]
MOV R15,RAX
MOV RDI,R13
CALL 0x003d6ae0
MOV RDI,R15
MOV RDX,R13
MOV RSI,R12
CALL 0x001a67c0
MOV R15D,dword ptr [RBP + 0xc0]
LEA RAX,[RSP + 0x20]
MOV R13D,dword ptr [RBP + 0x4]
MOV qword ptr [RSP + 0x18],RAX
JMP 0x002d85b0
MOVDQA XMM0,xmmword ptr [RSP + 0x20]
ADD RSI,0x20
MOVUPS xmmword ptr [RSI + -0x20],XMM0
MOVDQA XMM1,xmmword ptr [RSP + 0x30]
MOVUPS xmmword ptr [RSI + -0x10],XMM1
MOV qword ptr [RAX + 0x50],RSI
SUB RSI,qword ptr [RAX + 0x48]
SAR RSI,0x5
LEA RDX,[RSI*0x8]
TEST byte ptr [RAX + 0x20],0x2
JNZ 0x002d88fd
MOV qword ptr [RAX + 0x10],RDX
OR byte ptr [R12 + 0x20],0x10
TEST byte ptr [RSP + 0x3b],0x10
JZ 0x002d856c
ADD qword ptr [RAX + 0x38],0x1
CMP dword ptr [RSP + 0x3c],-0x4
MOV RAX,qword ptr [RSP + 0x28]
JZ 0x002d85a0
TEST RAX,RAX
JZ 0x002d85a0
MOV EDX,dword ptr [RAX + 0xa4]
TEST EDX,EDX
JNZ 0x002d8590
SUB ESI,0x1
MOV dword ptr [RAX + 0xa0],ESI
ADD EDX,0x1
MOV dword ptr [RAX + 0xa4],EDX
NOP dword ptr [RAX]
LEA EAX,[R15 + 0x4]
MOV R15D,R14D
CMP R14D,EAX
JNZ 0x002d8880
SUB R13D,0x1
TEST R13D,R13D
JLE 0x002d86d0
MOV dword ptr [RSP + 0x28],0x7ffffffe
SUB RSP,0x8
MOV RDI,R12
MOV dword ptr [RSP + 0x28],0x0
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
PUSH qword ptr [RSP + 0x38]
CALL 0x003e1b00
ADD RSP,0x20
CMP qword ptr [R12 + 0xd0],0x0
MOV R14D,EAX
JZ 0x002d85a0
MOV EDI,dword ptr [RBP + 0x108]
TEST EDI,EDI
JZ 0x002d85a0
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002d8898
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x002d862b
CMP byte ptr [RAX + 0x42d1],0x0
JZ 0x002d85a0
MOV RAX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
LEA RDI,[RAX + 0x40]
CALL 0x002af840
MOV RDI,qword ptr [RSP + 0x18]
XOR R8D,R8D
MOV ECX,R14D
MOV ESI,0x3
MOV RDX,R12
MOV qword ptr [RSP],RAX
CALL 0x003d6ae0
MOV RAX,qword ptr [RSP]
MOV RSI,qword ptr [RAX + 0x50]
CMP RSI,qword ptr [RAX + 0x58]
JNZ 0x002d8520
MOV RDX,qword ptr [RSP + 0x18]
LEA RDI,[RAX + 0x48]
MOV qword ptr [RSP],RAX
CALL 0x001a6640
MOV RAX,qword ptr [RSP]
MOV RSI,qword ptr [RAX + 0x50]
JMP 0x002d853c
XOR EDX,EDX
CALL RAX
MOV R14D,EAX
JMP 0x002d8373
CALL 0x002af840
MOV EDX,dword ptr [R13 + 0x4]
MOV qword ptr [RSP + 0x18],RAX
CMP EDX,-0x1
JZ 0x002d88e0
MOV RSI,qword ptr [R13 + 0x8]
PUSH 0x0
PUSH 0x0
PUSH 0x1
JMP 0x002d83f0
MOV EAX,dword ptr [RBP + 0xc0]
MOV dword ptr [RBP + 0xc4],EAX
MOV R13,qword ptr [RBP + 0x60]
LEA RAX,[RSP + 0x20]
MOV qword ptr [RSP],RAX
TEST R13,R13
JNZ 0x002d8705
JMP 0x002d878b
MOV R13,qword ptr [R13]
TEST R13,R13
JZ 0x002d878b
MOV RAX,qword ptr [R13 + 0x8]
CMP dword ptr [RAX + 0x4],-0x1
JNZ 0x002d86f8
MOV R15,qword ptr [RAX + 0x8]
CMP dword ptr [R15 + 0x5c],0x2
JNZ 0x002d86f8
CMP byte ptr [RAX + 0x10],0x0
JNZ 0x002d86f8
XOR R12D,R12D
CMP qword ptr [RBX + 0xd0],0x0
JZ 0x002d8737
MOV EAX,dword ptr [RBP + 0x108]
LEA R12D,[RAX + 0x3]
MOV EDX,R12D
MOV RSI,R15
MOV RDI,RBX
CALL 0x003e1c60
TEST AL,AL
JZ 0x002d86f8
LEA RAX,[R15 + 0x28]
NOP dword ptr [RAX]
CMP R12D,dword ptr [RAX]
JZ 0x002d879a
MOV RAX,qword ptr [RAX + 0x8]
TEST RAX,RAX
JNZ 0x002d8750
LEA RDX,[0x560bc8]
MOV ESI,0x1b7
LEA RDI,[0x533407]
CALL 0x00352af0
MOV EAX,dword ptr [RBP + 0x4]
TEST EAX,EAX
JNZ 0x002d843d
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV EAX,dword ptr [RAX + 0x4]
CMP EAX,-0x1
JZ 0x002d875e
MOV EDX,dword ptr [R15 + 0x60]
CMP EDX,-0x1
JZ 0x002d87af
CMP EDX,EAX
JBE 0x002d87b3
MOV dword ptr [R15 + 0x60],EAX
CMP qword ptr [RBX + 0xd0],0x0
JZ 0x002d86f8
MOV ESI,dword ptr [RBP + 0x108]
TEST ESI,ESI
JZ 0x002d86f8
MOV RAX,qword ptr [0x0067cb08]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002d8898
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x002d87f9
CMP byte ptr [RAX + 0x42d1],0x0
JZ 0x002d86f8
MOV RAX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
LEA RDI,[RAX + 0x40]
CALL 0x002af840
MOV ESI,R12D
MOV RDI,R15
MOV R14,RAX
CALL 0x00228f60
PUSH 0x0
MOV RSI,R15
MOV RCX,RBX
PUSH 0x1
MOV R15,qword ptr [RSP + 0x10]
MOV R8D,EAX
XOR R9D,R9D
MOV EDX,0x3
MOV RDI,R15
CALL 0x003d73a0
POP RDX
MOV RSI,RBX
POP RCX
MOV RDX,R15
MOV RDI,R14
CALL 0x001a67c0
JMP 0x002d86f8
CMP byte ptr [RAX + 0x42d1],0x0
JZ 0x002d8505
JMP 0x002d84bc
LEA RDX,[0x560b70]
MOV ESI,0x83e
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x55ef50]
MOV ESI,0x1739
LEA RDI,[0x55840b]
CALL 0x00352af0
LEA RDX,[0x5610f8]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
LEA RDX,[0x560b70]
MOV ESI,0x83c
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x55ef61]
MOV ESI,0x1f5
LEA RDI,[0x55840b]
CALL 0x00352af0
LEA RDX,[0x55ef68]
MOV ESI,0x1fd
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
LEA RDX,[0x560a40]
MOV ESI,0x231
LEA RDI,[0x533384]
CALL 0x00352af0
(translation_unit "void FUN_002d8220(long param_1,long param_2,undefined8 param_3)\n\n{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" (function_definition "void FUN_002d8220(long param_1,long param_2,undefined8 param_3)\n\n{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" primitive_type (function_declarator "FUN_002d8220(long param_1,long param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,long param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "long *plVar18;" (sized_type_specifier "long" long) (pointer_declarator "*plVar18" * identifier) ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (expression_statement "lVar2 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar2 = *(long *)(param_2 + 0x20)" identifier = (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" { (expression_statement "uStack_50._0_4_ = 0x7ffffffe;" (assignment_expression "uStack_50._0_4_ = 0x7ffffffe" (field_expression "uStack_50._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" identifier (argument_list "(lVar2)" ( identifier ))) ;) (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" identifier (argument_list "(lVar2)" ( identifier ))) ;) (expression_statement "plVar18 = *(long **)(param_1 + 0x60);" (assignment_expression "plVar18 = *(long **)(param_1 + 0x60)" identifier = (pointer_expression "*(long **)(param_1 + 0x60)" * (cast_expression "(long **)(param_1 + 0x60)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" if (parenthesized_expression "(plVar18 == (long *)0x0)" ( (binary_expression "plVar18 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }" { (if_statement "if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (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) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" { (do_statement "do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);" do (compound_statement "{\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      }" { (while_statement "while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" { (expression_statement "puVar3 = (uint *)plVar18[1];" (assignment_expression "puVar3 = (uint *)plVar18[1]" identifier = (cast_expression "(uint *)plVar18[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar18[1]" identifier [ number_literal ]))) ;) (if_statement "if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;" if (parenthesized_expression "((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0'))" ( (binary_expression "(puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')" (parenthesized_expression "(puVar3[1] != 0xffffffff)" ( (binary_expression "puVar3[1] != 0xffffffff" (subscript_expression "puVar3[1]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((char)puVar3[4] == '\0')" ( (binary_expression "(char)puVar3[4] == '\0'" (cast_expression "(char)puVar3[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar3[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002d82c0:\n          plVar18 = (long *)*plVar18;" statement_identifier : (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" identifier = (cast_expression "(long *)*plVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar18" * identifier))) ;)) (if_statement "if (plVar18 == (long *)0x0) goto LAB_002d8430;" if (parenthesized_expression "(plVar18 == (long *)0x0)" ( (binary_expression "plVar18 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8430;" goto statement_identifier ;)) })) (expression_statement "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);" (call_expression "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" identifier (argument_list "(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" ( identifier , (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) , (subscript_expression "puVar3[1]" identifier [ number_literal ]) , number_literal , (pointer_expression "*puVar3" * identifier) ))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1f5,"object");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1f5,"object")" identifier (argument_list "("../../gold/mips.cc",0x1f5,"object")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(puVar3 + 2);" (assignment_expression "plVar4 = *(long **)(puVar3 + 2)" identifier = (pointer_expression "*(long **)(puVar3 + 2)" * (cast_expression "(long **)(puVar3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x160) == FUN_0022eac0)" ( (binary_expression "*(code **)(*plVar4 + 0x160) == FUN_0022eac0" (pointer_expression "*(code **)(*plVar4 + 0x160)" * (cast_expression "(code **)(*plVar4 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x160)" ( (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }" { (expression_statement "local_58 = uVar1;" (assignment_expression "local_58 = uVar1" identifier = identifier) ;) (expression_statement "uStack_50 = (ulong)*puVar3;" (assignment_expression "uStack_50 = (ulong)*puVar3" identifier = (binary_expression "(ulong)*puVar3" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);" (assignment_expression "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58)" identifier = (call_expression "FUN_0022e8e0(plVar4 + 0x15,&local_58)" identifier (argument_list "(plVar4 + 0x15,&local_58)" ( (binary_expression "plVar4 + 0x15" identifier + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (lVar11 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" { comment (expression_statement "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83c,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;) })) (expression_statement "piVar14 = *(int **)(lVar11 + 0x18);" (assignment_expression "piVar14 = *(int **)(lVar11 + 0x18)" identifier = (pointer_expression "*(int **)(lVar11 + 0x18)" * (cast_expression "(int **)(lVar11 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x18)" ( (binary_expression "lVar11 + 0x18" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" { (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d8868;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8868;" goto statement_identifier ;)) (if_statement "if (*piVar14 == 0) break;" if (parenthesized_expression "(*piVar14 == 0)" ( (binary_expression "*piVar14 == 0" (pointer_expression "*piVar14" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" identifier = (pointer_expression "*(int **)(piVar14 + 2)" * (cast_expression "(int **)(piVar14 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 2)" ( (binary_expression "piVar14 + 2" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = piVar14[1];" (assignment_expression "iVar7 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == -1) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" { (labeled_statement "LAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83e,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;)) })) }) (else_clause "else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" else (compound_statement "{\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" { (expression_statement "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);" (assignment_expression "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" identifier = (call_expression "(**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" (parenthesized_expression "(**(code **)(*plVar4 + 0x160))" ( (pointer_expression "**(code **)(*plVar4 + 0x160)" * (pointer_expression "*(code **)(*plVar4 + 0x160)" * (cast_expression "(code **)(*plVar4 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x160)" ( (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar1,0)" ( identifier , identifier , number_literal )))) ;) }))) (if_statement "if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;" if (parenthesized_expression "((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0))" ( (binary_expression "(*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) == 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x108) == 0)" ( (binary_expression "*(int *)(param_1 + 0x108) == 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;" if (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))" ( (binary_expression "(*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" * (cast_expression "(char *)(lVar11 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x2a61)" ( (binary_expression "lVar11 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" * (cast_expression "(char *)(lVar11 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x42d1)" ( (binary_expression "lVar11 + 0x42d1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" if (parenthesized_expression "(*(char *)((long)puVar3 + 0x11) == '\0')" ( (binary_expression "*(char *)((long)puVar3 + 0x11) == '\0'" (pointer_expression "*(char *)((long)puVar3 + 0x11)" * (cast_expression "(char *)((long)puVar3 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 0x11)" ( (binary_expression "(long)puVar3 + 0x11" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }" { (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" { (labeled_statement "LAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx")" identifier (argument_list "("../../gold/mips.cc",0x1fd,"symndx")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""symndx"" " string_content ") ))) ;)) })) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" else (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" { (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) goto LAB_002d88e0;" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_002d88e0;" goto statement_identifier ;)) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) }))) (expression_statement "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);" (call_expression "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" identifier (argument_list "(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal , identifier , identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001a67c0(local_60,lVar2,&local_58);" (call_expression "FUN_001a67c0(local_60,lVar2,&local_58)" identifier (argument_list "(local_60,lVar2,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" identifier = (cast_expression "(long *)*plVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar18" * identifier))) ;) }) while (parenthesized_expression "(plVar18 != (long *)0x0)" ( (binary_expression "plVar18 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" statement_identifier : (if_statement "if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (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) )) (goto_statement "goto LAB_002d86dc;" goto statement_identifier ;))) }))) (expression_statement "lVar11 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar11 = *(long *)(param_2 + 0x20)" identifier = (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" { (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = FUN_003e1b00(lVar11);" (assignment_expression "iVar7 = FUN_003e1b00(lVar11)" identifier = (call_expression "FUN_003e1b00(lVar11)" identifier (argument_list "(lVar11)" ( identifier )))) ;) (expression_statement "lVar13 = *(long *)(lVar11 + 0xd0);" (assignment_expression "lVar13 = *(long *)(lVar11 + 0xd0)" identifier = (pointer_expression "*(long *)(lVar11 + 0xd0)" * (cast_expression "(long *)(lVar11 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0xd0)" ( (binary_expression "lVar11 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0xc0) = iVar7;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar7" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" if (parenthesized_expression "((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" { (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" if (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" * (cast_expression "(char *)(lVar13 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x42d1)" ( (binary_expression "lVar13 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" { (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" identifier (argument_list "(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" ( (pointer_expression "&local_58" & identifier) , number_literal , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" * (cast_expression "(undefined4 *)(param_1 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "FUN_001a67c0(uVar12,lVar11,&local_58);" (call_expression "FUN_001a67c0(uVar12,lVar11,&local_58)" identifier (argument_list "(uVar12,lVar11,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0xc0);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xc0)" identifier = (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar17 = *(int *)(param_1 + 4);" (assignment_expression "iVar17 = *(int *)(param_1 + 4)" identifier = (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) ))))) ;) (while_statement "while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" while (parenthesized_expression "(iVar17 = iVar17 + -1, 0 < iVar17)" ( (comma_expression "iVar17 = iVar17 + -1, 0 < iVar17" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) , (binary_expression "0 < iVar17" number_literal < identifier)) )) (compound_statement "{\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" { (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = FUN_003e1b00(lVar11);" (assignment_expression "iVar9 = FUN_003e1b00(lVar11)" identifier = (call_expression "FUN_003e1b00(lVar11)" identifier (argument_list "(lVar11)" ( identifier )))) ;) (if_statement "if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" if (parenthesized_expression "((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar11 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar11 + 0xd0) != 0" (pointer_expression "*(long *)(lVar11 + 0xd0)" * (cast_expression "(long *)(lVar11 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0xd0)" ( (binary_expression "lVar11 + 0xd0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" { (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" if (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" * (cast_expression "(char *)(lVar13 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x42d1)" ( (binary_expression "lVar13 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" { (expression_statement "lVar13 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "lVar13 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0)" identifier (argument_list "(&local_58,3,lVar11,iVar9,0)" ( (pointer_expression "&local_58" & identifier) , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "puVar5 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar5 = *(undefined8 **)(lVar13 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(lVar13 + 0x58))" ( (binary_expression "puVar5 == *(undefined8 **)(lVar13 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar13 + 0x58)" * (cast_expression "(undefined8 **)(lVar13 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x58)" ( (binary_expression "lVar13 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }" { (expression_statement "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);" (call_expression "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58)" identifier (argument_list "(lVar13 + 0x48,puVar5,&local_58)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar15 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar15 = *(undefined8 **)(lVar13 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" else (compound_statement "{\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" { (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "*puVar5 = CONCAT44(uStack_54,local_58);" (assignment_expression "*puVar5 = CONCAT44(uStack_54,local_58)" (pointer_expression "*puVar5" * identifier) = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (expression_statement "puVar5[1] = uStack_50;" (assignment_expression "puVar5[1] = uStack_50" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_48;" (assignment_expression "puVar5[2] = local_48" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar5[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_3c,uStack_40)" identifier (argument_list "(iStack_3c,uStack_40)" ( identifier , identifier )))) ;) (expression_statement "*(undefined8 **)(lVar13 + 0x50) = puVar15;" (assignment_expression "*(undefined8 **)(lVar13 + 0x50) = puVar15" (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;" (assignment_expression "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" identifier = (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002d88fd;" goto statement_identifier ;)) (expression_statement "*(long *)(lVar13 + 0x10) = lVar16 * 8;" (assignment_expression "*(long *)(lVar13 + 0x10) = lVar16 * 8" (pointer_expression "*(long *)(lVar13 + 0x10)" * (cast_expression "(long *)(lVar13 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar16 * 8" identifier * number_literal)) ;) (expression_statement "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;" (assignment_expression "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" * (cast_expression "(byte *)(lVar11 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x20)" ( (binary_expression "lVar11 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" * (cast_expression "(byte *)(lVar11 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x20)" ( (binary_expression "lVar11 + 0x20" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" { (expression_statement "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;" (assignment_expression "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" if (parenthesized_expression "((iStack_3c != -4) && (uStack_50 != 0))" ( (binary_expression "(iStack_3c != -4) && (uStack_50 != 0)" (parenthesized_expression "(iStack_3c != -4)" ( (binary_expression "iStack_3c != -4" identifier != number_literal) )) && (parenthesized_expression "(uStack_50 != 0)" ( (binary_expression "uStack_50 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" { (if_statement "if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" if (parenthesized_expression "(*(int *)(uStack_50 + 0xa4) == 0)" ( (binary_expression "*(int *)(uStack_50 + 0xa4) == 0" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" { (expression_statement "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;" (assignment_expression "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1" (pointer_expression "*(int *)(uStack_50 + 0xa0)" * (cast_expression "(int *)(uStack_50 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa0)" ( (binary_expression "uStack_50 + 0xa0" identifier + number_literal) )))) = (binary_expression "(int)lVar16 + -1" (cast_expression "(int)lVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (expression_statement "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;" (assignment_expression "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) = (binary_expression "*(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) })) })) })) (expression_statement "iVar8 = iVar7 + 4;" (assignment_expression "iVar8 = iVar7 + 4" identifier = (binary_expression "iVar7 + 4" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar9;" (assignment_expression "iVar7 = iVar9" identifier = identifier) ;) (if_statement "if (iVar9 != iVar8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" if (parenthesized_expression "(iVar9 != iVar8)" ( (binary_expression "iVar9 != iVar8" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries")" identifier (argument_list "("../../gold/mips.cc",0x1739,"add_page_entries")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""add_page_entries"" " string_content ") ))) ;) })) })) (expression_statement "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);" (assignment_expression "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0)" (pointer_expression "*(undefined4 *)(param_1 + 0xc4)" * (cast_expression "(undefined4 *)(param_1 + 0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc4)" ( (binary_expression "param_1 + 0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" * (cast_expression "(undefined4 *)(param_1 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);" statement_identifier : (expression_statement "puVar5 = *(undefined8 **)(param_1 + 0x60);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x60)" * (cast_expression "(undefined8 **)(param_1 + 0x60)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;)) (do_statement "do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );" do (compound_statement "{\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      }" { (if_statement "if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" ( (binary_expression "puVar5 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "lVar11 = puVar5[1];" (assignment_expression "lVar11 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0'))" ( (binary_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')" (parenthesized_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2))" ( (binary_expression "(*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" (parenthesized_expression "(*(int *)(lVar11 + 4) == -1)" ( (binary_expression "*(int *)(lVar11 + 4) == -1" (pointer_expression "*(int *)(lVar11 + 4)" * (cast_expression "(int *)(lVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 4)" ( (binary_expression "lVar11 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" ( (comma_expression "lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2" (assignment_expression "lVar13 = *(long *)(lVar11 + 8)" identifier = (pointer_expression "*(long *)(lVar11 + 8)" * (cast_expression "(long *)(lVar11 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 8)" ( (binary_expression "lVar11 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(lVar13 + 0x5c) == 2" (pointer_expression "*(int *)(lVar13 + 0x5c)" * (cast_expression "(int *)(lVar13 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x5c)" ( (binary_expression "lVar13 + 0x5c" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(char *)(lVar11 + 0x10) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x10) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x10)" * (cast_expression "(char *)(lVar11 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" if (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" { (expression_statement "iVar7 = *(int *)(param_1 + 0x108) + 3;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x108) + 3" identifier = (binary_expression "*(int *)(param_1 + 0x108) + 3" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);" (assignment_expression "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7)" identifier = (call_expression "FUN_003e1c60(lVar2,lVar13,iVar7)" identifier (argument_list "(lVar2,lVar13,iVar7)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" { (expression_statement "piVar14 = (int *)(lVar13 + 0x28);" (assignment_expression "piVar14 = (int *)(lVar13 + 0x28)" identifier = (cast_expression "(int *)(lVar13 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x28)" ( (binary_expression "lVar13 + 0x28" identifier + number_literal) )))) ;) (while_statement "while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" while (parenthesized_expression "(iVar7 != *piVar14)" ( (binary_expression "iVar7 != *piVar14" identifier != (pointer_expression "*piVar14" * identifier)) )) (compound_statement "{\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" { (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" identifier = (pointer_expression "*(int **)(piVar14 + 2)" * (cast_expression "(int **)(piVar14 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 2)" ( (binary_expression "piVar14 + 2" identifier + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d875e;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d875e;" goto statement_identifier ;)) })) (expression_statement "uVar1 = piVar14[1];" (assignment_expression "uVar1 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" { (labeled_statement "LAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" (call_expression "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset")" identifier (argument_list "("../../gold/symtab.h",0x1b7,"got_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""got_offset"" " string_content ") ))) ;)) })) (if_statement "if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" if (parenthesized_expression "((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60)))" ( (binary_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))" (parenthesized_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff)" ( (binary_expression "*(uint *)(lVar13 + 0x60) == 0xffffffff" (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(uVar1 < *(uint *)(lVar13 + 0x60))" ( (binary_expression "uVar1 < *(uint *)(lVar13 + 0x60)" identifier < (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ))) )) (compound_statement "{\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" { (expression_statement "*(uint *)(lVar13 + 0x60) = uVar1;" (assignment_expression "*(uint *)(lVar13 + 0x60) = uVar1" (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" if (parenthesized_expression "((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" { (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" if (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar11 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" * (cast_expression "(char *)(lVar11 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x2a61)" ( (binary_expression "lVar11 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar11 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" * (cast_expression "(char *)(lVar11 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x42d1)" ( (binary_expression "lVar11 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" { (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar10 = FUN_00228f60(lVar13,iVar7);" (assignment_expression "uVar10 = FUN_00228f60(lVar13,iVar7)" identifier = (call_expression "FUN_00228f60(lVar13,iVar7)" identifier (argument_list "(lVar13,iVar7)" ( identifier , identifier )))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);" (call_expression "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1)" identifier (argument_list "(&local_58,lVar13,3,lVar2,uVar10,0,1)" ( (pointer_expression "&local_58" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);" (call_expression "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19)" identifier (argument_list "(uVar12,lVar2,&local_58,uVar19)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) , identifier ))) ;) })) })) })) })) (expression_statement "puVar5 = (undefined8 *)*puVar5;" (assignment_expression "puVar5 = (undefined8 *)*puVar5" identifier = (cast_expression "(undefined8 *)*puVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002d88fd:\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;)) })))
(ERROR "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void add_local_entries(Mips_got_info<32,_false> * this,\n   Target_mips<32,_false> * target, Layout * layout) */\n\nvoid __thiscall\nanon_unknown.dwarf_ead2ad::Mips_got_info<32,_false>::add_local_entries\n          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)\n\n{\n  uint uVar1;\n  size_t *psVar2;\n  Mips_got_info<32,_false> *this_00;\n  _Hash_node_base *p_Var3;\n  _func_int_varargs *p_Var4;\n  int *piVar5;\n  General_options *pGVar6;\n  Mips_output_data_got<32,_false> *this_01;\n  iterator __position;\n  Symbol *gsym;\n  Mips_got_info<32,_false> *pMVar7;\n  Got_entry got_entry;\n  Got_entry got_entry_00;\n  Got_entry got_entry_01;\n  Got_entry got_entry_02;\n  anon_union_8_4_c82d8563_for_u1_ aVar8;\n  undefined1 *puVar9;\n  bool bVar10;\n  uint uVar11;\n  uint address;\n  Address address_00;\n  const_iterator cVar12;\n  Output_data_reloc_base<9,_true,_32,_false> *pOVar13;\n  Reloc_section *pRVar14;\n  Got_offset_list *pGVar15;\n  Sized_relobj<32,_false> *relobj;\n  Output_reloc<9,_true,_32,_false> *pOVar16;\n  long lVar17;\n  uint uVar18;\n  _Hash_node_base *p_Var19;\n  undefined1 uVar20;\n  undefined7 uVar21;\n  Mips_got_info<32,_false> *local_60;\n  Local_got_entry_key key;\n  Address local_48;\n  uint uStack_44;\n  uint uStack_40;\n  uint uStack_3c;\n  \n  this_00 = (Mips_got_info<32,_false> *)target->got_;\n  local_60 = this;\n  if (this_00 != (Mips_got_info<32,_false> *)0x0) {\n    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n    key.symndx_ = 0;\n    uVar20 = (undefined1)_local_48;\n    uVar21 = SUB87(_local_48,1);\n    got_entry._8_1_ = 0xfe;\n    got_entry.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n    got_entry._9_7_ = (int7)(key.addend_ >> 8);\n    got_entry.addend_._0_1_ = uVar20;\n    got_entry.addend_._1_7_ = uVar21;\n    gold::Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)\n    ;\n    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n    key.symndx_ = 0x80000000;\n    got_entry_00.u_._4_4_ = key._4_4_;\n    got_entry_00.u_.constant = 0x80000000;\n    got_entry_00._8_1_ = 0xfe;\n    got_entry_00._9_7_ = (int7)(key.addend_ >> 8);\n    got_entry_00.addend_._0_1_ = uVar20;\n    got_entry_00.addend_._1_7_ = uVar21;\n    local_60 = this_00;\n    gold::Output_data_got<32,_false>::add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00);\n    p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n    if (p_Var19 == (_Hash_node_base *)0x0) {\n      if (this->page_gotno_ == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          p_Var3 = p_Var19[1]._M_nxt;\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;\nLAB_002d82c0:\n          p_Var19 = p_Var19->_M_nxt;\n          if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;\n        }\n        gold::Output_data_got<32,_false>::add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt);\n        uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n        if (uVar11 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");\n        }\n        local_60 = (Mips_got_info<32,_false> *)p_Var3[1]._M_nxt;\n        p_Var4 = (((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c];\n        if (p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset) {\n          local_60 = (Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;\n          key.symndx_ = uVar11;\n          key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;\n          cVar12 = std::\n                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);\n          if (cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ._M_cur == (__node_type *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar5 = *(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18);\n          while( true ) {\n            if (piVar5 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar5 == 0) break;\n            piVar5 = *(int **)(piVar5 + 2);\n          }\n          address_00 = piVar5[1];\n          if (address_00 == 0xffffffff) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);\n        }\n        if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0)) goto LAB_002d82c0;\n        pGVar6 = gold::parameters->options_;\n        if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n        if (((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false))\n        goto LAB_002d82c0;\n        if (*(char *)((long)&p_Var3[2]._M_nxt + 1) == '\0') {\n          local_60 = (Mips_got_info<32,_false> *)\n                     Target_mips<32,_false>::rel_dyn_section\n                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;\n          bVar10 = false;\n        }\n        else {\n          local_60 = (Mips_got_info<32,_false> *)\n                     Target_mips<32,_false>::rel_dyn_section\n                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff) goto LAB_002d88e0;\n          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;\n          bVar10 = true;\n        }\n        gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                  ((Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false);\n        gold::Output_data_reloc_base<9,_true,_32,_false>::add\n                  ((Output_data_reloc_base<9,_true,_32,_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key);\n        p_Var19 = p_Var19->_M_nxt;\n      } while (p_Var19 != (_Hash_node_base *)0x0);\nLAB_002d8430:\n      if (this->page_gotno_ == 0) goto LAB_002d86dc;\n    }\n    this_01 = target->got_;\n    if (this_01 != (Mips_output_data_got<32,_false> *)0x0) {\n      key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n      key.symndx_ = 0;\n      got_entry_01._8_1_ = 0xfe;\n      got_entry_01.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n      got_entry_01._9_7_ = (int7)(key.addend_ >> 8);\n      got_entry_01.addend_._0_1_ = uVar20;\n      got_entry_01.addend_._1_7_ = uVar21;\n      uVar11 = gold::Output_data_got<32,_false>::add_got_entry\n                         (&this_01->super_Output_data_got<32,_false>,got_entry_01);\n      pMVar7 = this_01->primary_got_;\n      this->got_page_offset_start_ = uVar11;\n      if ((pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n        pGVar6 = gold::parameters->options_;\n        if (pGVar6 == (General_options *)0x0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n          pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)\n                    Target_mips<32,_false>::rel_dyn_section\n                              ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                    ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false);\n          gold::Output_data_reloc_base<9,_true,_32,_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n      do {\n        if (p_Var19 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var3 = p_Var19[1]._M_nxt;\n        if (((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&\n           (*(char *)&p_Var3[2]._M_nxt == '\0')) {\n          uVar11 = 0;\n          if ((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n              (Mips_got_info<32,_false> *)0x0) {\n            uVar11 = this->index_ + 3;\n          }\n          bVar10 = gold::Output_data_got<32,_false>::add_global\n                             ((Output_data_got<32,_false> *)this_00,gsym,uVar11);\n          if (bVar10) {\n            pGVar15 = &gsym->got_offsets_;\n            while (uVar11 != pGVar15->got_type_) {\n              pGVar15 = pGVar15->got_next_;\n              if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;\n            }\n            uVar18 = pGVar15->got_offset_;\n            if (uVar18 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_)) {\n              gsym[1].dynsym_index_ = uVar18;\n            }\n            if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n              pGVar6 = gold::parameters->options_;\n              if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n              if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n                pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)\n                          Target_mips<32,_false>::rel_dyn_section\n                                    ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n                uVar11 = gold::Symbol::got_offset(gsym,uVar11);\n                gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                          ((Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false);\n                gold::Output_data_reloc_base<9,_true,_32,_false>::add\n                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while( true );\n    }\n  }\n  Target_mips<32,_false>::got_section((Target_mips<32,_false> *)local_60);\nLAB_002d88fd:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_ead2ad::Mips_got_info<32,_false>::add_local_entries\n          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_ead2ad::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::add_local_entries\n          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)\n\n{\n  uint" identifier > : : (function_declarator "add_local_entries\n          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)" identifier (parameter_list "(Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)" ( (parameter_declaration "Mips_got_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Target_mips" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) ))) { identifier) identifier ;) (declaration "size_t *psVar2;" primitive_type (pointer_declarator "*psVar2" * identifier) ;) (expression_statement "Mips_got_info<32,_false> *this_00;" (update_expression "Mips_got_info<32,_false> *this_00" (binary_expression "Mips_got_info<32,_false> *this_00" (binary_expression "Mips_got_info<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "_Hash_node_base *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "_func_int_varargs *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "General_options *pGVar6;" type_identifier (pointer_declarator "*pGVar6" * identifier) ;) (expression_statement "Mips_output_data_got<32,_false> *this_01;" (update_expression "Mips_output_data_got<32,_false> *this_01" (binary_expression "Mips_output_data_got<32,_false> *this_01" (binary_expression "Mips_output_data_got<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_01" * identifier)) --) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "Symbol *gsym;" type_identifier (pointer_declarator "*gsym" * identifier) ;) (expression_statement "Mips_got_info<32,_false> *pMVar7;" (update_expression "Mips_got_info<32,_false> *pMVar7" (binary_expression "Mips_got_info<32,_false> *pMVar7" (binary_expression "Mips_got_info<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar7" * identifier)) --) ;) (declaration "Got_entry got_entry;" type_identifier identifier ;) (declaration "Got_entry got_entry_00;" type_identifier identifier ;) (declaration "Got_entry got_entry_01;" type_identifier identifier ;) (declaration "Got_entry got_entry_02;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint address;" type_identifier identifier ;) (declaration "Address address_00;" type_identifier identifier ;) (declaration "const_iterator cVar12;" type_identifier identifier ;) (expression_statement "Output_data_reloc_base<9,_true,_32,_false> *pOVar13;" (update_expression "Output_data_reloc_base<9,_true,_32,_false> *pOVar13" (binary_expression "Output_data_reloc_base<9,_true,_32,_false> *pOVar13" (binary_expression "Output_data_reloc_base<9" identifier < number_literal) (ERROR ",_true,_32,_false" , identifier , identifier , identifier) > (pointer_expression "*pOVar13" * identifier)) --) ;) (declaration "Reloc_section *pRVar14;" type_identifier (pointer_declarator "*pRVar14" * identifier) ;) (declaration "Got_offset_list *pGVar15;" type_identifier (pointer_declarator "*pGVar15" * identifier) ;) (expression_statement "Sized_relobj<32,_false> *relobj;" (update_expression "Sized_relobj<32,_false> *relobj" (binary_expression "Sized_relobj<32,_false> *relobj" (binary_expression "Sized_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*relobj" * identifier)) --) ;) (expression_statement "Output_reloc<9,_true,_32,_false> *pOVar16;" (update_expression "Output_reloc<9,_true,_32,_false> *pOVar16" (binary_expression "Output_reloc<9,_true,_32,_false> *pOVar16" (binary_expression "Output_reloc<9" identifier < number_literal) (ERROR ",_true,_32,_false" , identifier , identifier , identifier) > (pointer_expression "*pOVar16" * identifier)) --) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var19;" type_identifier (pointer_declarator "*p_Var19" * identifier) ;) (declaration "undefined1 uVar20;" type_identifier identifier ;) (declaration "undefined7 uVar21;" type_identifier identifier ;) (expression_statement "Mips_got_info<32,_false> *local_60;" (update_expression "Mips_got_info<32,_false> *local_60" (binary_expression "Mips_got_info<32,_false> *local_60" (binary_expression "Mips_got_info<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_60" * identifier)) --) ;) (declaration "Local_got_entry_key key;" type_identifier identifier ;) (declaration "Address local_48;" type_identifier identifier ;) (declaration "uint uStack_44;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "uint uStack_3c;" type_identifier identifier ;) (expression_statement "this_00 = (Mips_got_info<32,_false> *)target->got_;" (assignment_expression "this_00 = (Mips_got_info<32,_false> *)target->got_" identifier = (parenthesized_expression "(Mips_got_info<32,_false> *)target->got_" ( (comma_expression "Mips_got_info<32,_false> *)target->got_" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ))) ;) (expression_statement "local_60 = this;" (assignment_expression "local_60 = this" identifier = identifier) ;) if (parenthesized_expression "(this_00 != (Mips_got_info<32,_false> *)0x0)" ( (binary_expression "this_00 != (Mips_got_info<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) { (expression_statement "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);" (assignment_expression "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe)" (field_expression "key.addend_" identifier . field_identifier) = (call_expression "CONCAT44(key.addend_._4_4_,0x7ffffffe)" identifier (argument_list "(key.addend_._4_4_,0x7ffffffe)" ( (field_expression "key.addend_._4_4_" (field_expression "key.addend_" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (expression_statement "key.symndx_ = 0;" (assignment_expression "key.symndx_ = 0" (field_expression "key.symndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar20 = (undefined1)_local_48;" (assignment_expression "uVar20 = (undefined1)_local_48" identifier = (cast_expression "(undefined1)_local_48" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = SUB87(_local_48,1);" (assignment_expression "uVar21 = SUB87(_local_48,1)" identifier = (call_expression "SUB87(_local_48,1)" identifier (argument_list "(_local_48,1)" ( identifier , number_literal )))) ;) (expression_statement "got_entry._8_1_ = 0xfe;" (assignment_expression "got_entry._8_1_ = 0xfe" (field_expression "got_entry._8_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);" (assignment_expression "got_entry.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20)" (field_expression "got_entry.u_.object" (field_expression "got_entry.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Relobj *)((ulong)(uint)key._4_4_ << 0x20)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)key._4_4_ << 0x20)" ( (binary_expression "(ulong)(uint)key._4_4_ << 0x20" (cast_expression "(ulong)(uint)key._4_4_" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)key._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "key._4_4_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "got_entry._9_7_ = (int7)(key.addend_ >> 8);" (assignment_expression "got_entry._9_7_ = (int7)(key.addend_ >> 8)" (field_expression "got_entry._9_7_" identifier . field_identifier) = (call_expression "(int7)(key.addend_ >> 8)" (parenthesized_expression "(int7)" ( identifier )) (argument_list "(key.addend_ >> 8)" ( (binary_expression "key.addend_ >> 8" (field_expression "key.addend_" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "got_entry.addend_._0_1_ = uVar20;" (assignment_expression "got_entry.addend_._0_1_ = uVar20" (field_expression "got_entry.addend_._0_1_" (field_expression "got_entry.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "got_entry.addend_._1_7_ = uVar21;" (assignment_expression "got_entry.addend_._1_7_ = uVar21" (field_expression "got_entry.addend_._1_7_" (field_expression "got_entry.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "gold::Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)\n    ;" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)\n    ;" (comma_expression "Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)" identifier > (ERROR "::" : :) (call_expression "add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)" identifier (argument_list "((Output_data_got<32,_false> *)this_00,got_entry)" ( (parenthesized_expression "(Output_data_got<32,_false> *)this_00,got_entry)" ( (comma_expression "Output_data_got<32,_false> *)this_00,got_entry" (binary_expression "Output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)this_00,got_entry" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) )) ))))) ;)) (expression_statement "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);" (assignment_expression "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe)" (field_expression "key.addend_" identifier . field_identifier) = (call_expression "CONCAT44(key.addend_._4_4_,0x7ffffffe)" identifier (argument_list "(key.addend_._4_4_,0x7ffffffe)" ( (field_expression "key.addend_._4_4_" (field_expression "key.addend_" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (expression_statement "key.symndx_ = 0x80000000;" (assignment_expression "key.symndx_ = 0x80000000" (field_expression "key.symndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_00.u_._4_4_ = key._4_4_;" (assignment_expression "got_entry_00.u_._4_4_ = key._4_4_" (field_expression "got_entry_00.u_._4_4_" (field_expression "got_entry_00.u_" identifier . field_identifier) . field_identifier) = (field_expression "key._4_4_" identifier . field_identifier)) ;) (expression_statement "got_entry_00.u_.constant = 0x80000000;" (assignment_expression "got_entry_00.u_.constant = 0x80000000" (field_expression "got_entry_00.u_.constant" (field_expression "got_entry_00.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "got_entry_00._8_1_ = 0xfe;" (assignment_expression "got_entry_00._8_1_ = 0xfe" (field_expression "got_entry_00._8_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_00._9_7_ = (int7)(key.addend_ >> 8);" (assignment_expression "got_entry_00._9_7_ = (int7)(key.addend_ >> 8)" (field_expression "got_entry_00._9_7_" identifier . field_identifier) = (call_expression "(int7)(key.addend_ >> 8)" (parenthesized_expression "(int7)" ( identifier )) (argument_list "(key.addend_ >> 8)" ( (binary_expression "key.addend_ >> 8" (field_expression "key.addend_" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "got_entry_00.addend_._0_1_ = uVar20;" (assignment_expression "got_entry_00.addend_._0_1_ = uVar20" (field_expression "got_entry_00.addend_._0_1_" (field_expression "got_entry_00.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "got_entry_00.addend_._1_7_ = uVar21;" (assignment_expression "got_entry_00.addend_._1_7_ = uVar21" (field_expression "got_entry_00.addend_._1_7_" (field_expression "got_entry_00.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_60 = this_00;" (assignment_expression "local_60 = this_00" identifier = identifier) ;) (labeled_statement "gold::Output_data_got<32,_false>::add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_got<32,_false>::add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00);" (comma_expression "Output_data_got<32,_false>::add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00)" identifier > (ERROR "::" : :) (call_expression "add_got_entry\n              ((Output_data_got<32,_false> *)this_00,got_entry_00)" identifier (argument_list "((Output_data_got<32,_false> *)this_00,got_entry_00)" ( (parenthesized_expression "(Output_data_got<32,_false> *)this_00,got_entry_00)" ( (comma_expression "Output_data_got<32,_false> *)this_00,got_entry_00" (binary_expression "Output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)this_00,got_entry_00" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) )) ))))) ;)) (expression_statement "p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->got_entries_)._M_h._M_before_begin._M_nxt" (field_expression "(this->got_entries_)._M_h._M_before_begin" (field_expression "(this->got_entries_)._M_h" (parenthesized_expression "(this->got_entries_)" ( (field_expression "this->got_entries_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) if (parenthesized_expression "(p_Var19 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 == (_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      if (this->page_gotno_ == 0) {\n        return;\n      }\n    }" { (if_statement "if (this->page_gotno_ == 0) {\n        return;\n      }" if (parenthesized_expression "(this->page_gotno_ == 0)" ( (binary_expression "this->page_gotno_ == 0" (field_expression "this->page_gotno_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) else { do { (while_statement "while( true ) {\n          p_Var3 = p_Var19[1]._M_nxt;\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;\nLAB_002d82c0:\n          p_Var19 = p_Var19->_M_nxt;\n          if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          p_Var3 = p_Var19[1]._M_nxt;\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;\nLAB_002d82c0:\n          p_Var19 = p_Var19->_M_nxt;\n          if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;\n        }" { (expression_statement "p_Var3 = p_Var19[1]._M_nxt;" (assignment_expression "p_Var3 = p_Var19[1]._M_nxt" identifier = (field_expression "p_Var19[1]._M_nxt" (subscript_expression "p_Var19[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);" (assignment_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var3->_M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var3->_M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;" if (parenthesized_expression "((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0'))" ( (binary_expression "(uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')" (parenthesized_expression "(uVar11 != 0xffffffff)" ( (binary_expression "uVar11 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(*(char *)&p_Var3[2]._M_nxt == '\0')" ( (binary_expression "*(char *)&p_Var3[2]._M_nxt == '\0'" (pointer_expression "*(char *)&p_Var3[2]._M_nxt" * (cast_expression "(char *)&p_Var3[2]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var3[2]._M_nxt" & (field_expression "p_Var3[2]._M_nxt" (subscript_expression "p_Var3[2]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002d82c0:\n          p_Var19 = p_Var19->_M_nxt;" statement_identifier : (expression_statement "p_Var19 = p_Var19->_M_nxt;" (assignment_expression "p_Var19 = p_Var19->_M_nxt" identifier = (field_expression "p_Var19->_M_nxt" identifier -> field_identifier)) ;)) (if_statement "if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;" if (parenthesized_expression "(p_Var19 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8430;" goto statement_identifier ;)) })) (labeled_statement "gold::Output_data_got<32,_false>::add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_got<32,_false>::add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt);" (comma_expression "Output_data_got<32,_false>::add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt)" identifier > (ERROR "::" : :) (call_expression "add_local\n                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt)" identifier (argument_list "((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt)" ( (parenthesized_expression "(Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt)" ( (comma_expression "Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt" (binary_expression "Output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , (comma_expression "(Relobj *)p_Var3[1]._M_nxt,uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt" (cast_expression "(Relobj *)p_Var3[1]._M_nxt" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)) , (comma_expression "uVar11,0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt" identifier , (comma_expression "0,\n                   (ulong)*(uint *)&p_Var3->_M_nxt" number_literal , (binary_expression "(ulong)*(uint *)&p_Var3->_M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var3->_M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))))))))) )) ))))) ;)) (expression_statement "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);" (assignment_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var3->_M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var3->_M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar11 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");\n        }" if (parenthesized_expression "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1f5,"object")" identifier (argument_list "("../../gold/mips.cc",0x1f5,"object")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;)) })) (expression_statement "local_60 = (Mips_got_info<32,_false> *)p_Var3[1]._M_nxt;" (assignment_expression "local_60 = (Mips_got_info<32,_false> *)p_Var3[1]._M_nxt" identifier = (parenthesized_expression "(Mips_got_info<32,_false> *)p_Var3[1]._M_nxt" ( (comma_expression "Mips_got_info<32,_false> *)p_Var3[1]._M_nxt" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)p_Var3[1]._M_nxt" identifier > (pointer_expression "*)p_Var3[1]._M_nxt" * (ERROR ")" )) (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) (expression_statement "p_Var4 = (((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c];" (assignment_expression "p_Var4 = (((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c]" identifier = (subscript_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c]" (field_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data._vptr_Output_data" (field_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data.super_Output_data" (field_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build.\n                 super_Output_section_data" (field_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base).super_Output_section_data_build" (parenthesized_expression "(((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base)" ( (field_expression "((Output_data_got<32,_false> *)&local_60->local_gotno_)->\n                 super_Output_data_got_base" (parenthesized_expression "((Output_data_got<32,_false> *)&local_60->local_gotno_)" ( (binary_expression "(Output_data_got<32,_false> *)&local_60->local_gotno_" (parenthesized_expression "(Output_data_got<32,_false> *)" ( (comma_expression "Output_data_got<32,_false> *" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "local_60->local_gotno_" identifier -> field_identifier)) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset) {\n          local_60 = (Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;\n          key.symndx_ = uVar11;\n          key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;\n          cVar12 = std::\n                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);\n          if (cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ._M_cur == (__node_type *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar5 = *(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18);\n          while( true ) {\n            if (piVar5 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar5 == 0) break;\n            piVar5 = *(int **)(piVar5 + 2);\n          }\n          address_00 = piVar5[1];\n          if (address_00 == 0xffffffff) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);\n        }" if (parenthesized_expression "(p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset)" ( (comma_expression "p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset" (binary_expression "p_Var4 == gold::Sized_relobj<32" (binary_expression "p_Var4 == gold" identifier == identifier) (ERROR "::Sized_relobj" : : identifier) < number_literal) , (binary_expression "_false>::do_local_got_offset" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n          local_60 = (Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;\n          key.symndx_ = uVar11;\n          key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;\n          cVar12 = std::\n                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);\n          if (cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ._M_cur == (__node_type *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar5 = *(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18);\n          while( true ) {\n            if (piVar5 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar5 == 0) break;\n            piVar5 = *(int **)(piVar5 + 2);\n          }\n          address_00 = piVar5[1];\n          if (address_00 == 0xffffffff) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }" { (expression_statement "local_60 = (Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;" (assignment_expression "local_60 = (Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy" identifier = (binary_expression "(Mips_got_info<32,_false> *)\n                     &(local_60->got_page_entries_)._M_h._M_rehash_policy" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "(local_60->got_page_entries_)._M_h._M_rehash_policy" (field_expression "(local_60->got_page_entries_)._M_h" (parenthesized_expression "(local_60->got_page_entries_)" ( (field_expression "local_60->got_page_entries_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "key.symndx_ = uVar11;" (assignment_expression "key.symndx_ = uVar11" (field_expression "key.symndx_" identifier . field_identifier) = identifier) ;) (expression_statement "key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;" (assignment_expression "key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt" (field_expression "key.addend_" identifier . field_identifier) = (binary_expression "(ulong)*(uint *)&p_Var3->_M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var3->_M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))))) ;) (ERROR "cVar12 = std::\n                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::" (assignment_expression "cVar12 = std" identifier = identifier) : : (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_gold" identifier , identifier) : : (comma_expression "Got_offset_list*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_gold" identifier , identifier) : : (binary_expression "Got_offset_list*>_>,_std" (binary_expression "Got_offset_list*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::_Select1st,_gold:" : : (comma_expression "_Select1st,_gold" identifier , identifier) :) : (labeled_statement "Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::equal_to,_gold:" : : (comma_expression "equal_to,_gold" identifier , identifier) :) : (labeled_statement "Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::hash,_std:" : : (comma_expression "hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" identifier , (binary_expression "_true>_>\n                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" identifier (argument_list "((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" ( (parenthesized_expression "(_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key)" ( (ERROR "_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_gold" identifier , identifier) : : (comma_expression "Got_offset_list*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Local_got_entry_key,_gold" identifier , identifier) : : (binary_expression "Got_offset_list*>_>,_std" (binary_expression "Got_offset_list*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "equal_to,_gold" identifier , identifier) : : identifier : : (comma_expression "hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                           *)local_60,(key_type *)&key" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                           *)local_60,(key_type *)&key" identifier , (comma_expression "_true>_>\n                           *)local_60,(key_type *)&key" (binary_expression "_true>_>\n                           *)local_60" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)local_60" * (ERROR ")" )) identifier)) , (cast_expression "(key_type *)&key" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&key" & identifier))))) )) )))))) ;)))))))) (if_statement "if (cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ._M_cur == (__node_type *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" if (parenthesized_expression "(cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ._M_cur == (__node_type *)0x0)" ( (ERROR "cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n              ." (comma_expression "cVar12.\n              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold" (binary_expression "cVar12.\n              super__Node_iterator_base<std::pair<const_gold" (binary_expression "cVar12.\n              super__Node_iterator_base<std" (field_expression "cVar12.\n              super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Local_got_entry_key" : : identifier) , identifier) : : identifier * > , identifier > .) (binary_expression "_M_cur == (__node_type *)0x0" identifier == (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");" (call_expression "do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83c,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;)) })) (expression_statement "piVar5 = *(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18);" (assignment_expression "piVar5 = *(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18)" identifier = (pointer_expression "*(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18)" * (cast_expression "(int **)((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ._M_cur + 0x18)" ( (ERROR "(long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>\n                                   ." (comma_expression "(long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold" (binary_expression "(long)cVar12.\n                                   super__Node_iterator_base<std::pair<const_gold" (binary_expression "(long)cVar12.\n                                   super__Node_iterator_base<std" (cast_expression "(long)cVar12.\n                                   super__Node_iterator_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "cVar12.\n                                   super__Node_iterator_base" identifier . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Local_got_entry_key" : : identifier) , identifier) : : identifier * > , identifier > .) (binary_expression "_M_cur + 0x18" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            if (piVar5 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar5 == 0) break;\n            piVar5 = *(int **)(piVar5 + 2);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (piVar5 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar5 == 0) break;\n            piVar5 = *(int **)(piVar5 + 2);\n          }" { (if_statement "if (piVar5 == (int *)0x0) goto LAB_002d8868;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8868;" goto statement_identifier ;)) (if_statement "if (*piVar5 == 0) break;" if (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar5 = *(int **)(piVar5 + 2);" (assignment_expression "piVar5 = *(int **)(piVar5 + 2)" identifier = (pointer_expression "*(int **)(piVar5 + 2)" * (cast_expression "(int **)(piVar5 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) ))))) ;) })) (expression_statement "address_00 = piVar5[1];" (assignment_expression "address_00 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (address_00 == 0xffffffff) {\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" if (parenthesized_expression "(address_00 == 0xffffffff)" ( (binary_expression "address_00 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" { (labeled_statement "LAB_002d8868:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");" (call_expression "do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83e,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;))) })) }) (else_clause "else {\n          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);\n        }" else (compound_statement "{\n          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);\n        }" { (expression_statement "address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);" (assignment_expression "address_00 = (*p_Var4)(local_60,(ulong)uVar11,0)" identifier = (call_expression "(*p_Var4)(local_60,(ulong)uVar11,0)" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(local_60,(ulong)uVar11,0)" ( identifier , (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal )))) ;) }))) (if_statement "if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0)) goto LAB_002d82c0;" if (parenthesized_expression "(((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0))" ( (parenthesized_expression "((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0))" ( (binary_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0)" (binary_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==\n             (Mips_got_info<32,_false> *)0x0)" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h" (call_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(this_00->got_page_offsets_)" ( (field_expression "this_00->got_page_offsets_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) == (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) || (parenthesized_expression "(this->index_ == 0)" ( (binary_expression "this->index_ == 0" (field_expression "this->index_" identifier -> field_identifier) == number_literal) ))) )) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) (expression_statement "pGVar6 = gold::parameters->options_;" (field_expression "pGVar6 = gold::parameters->options_" (assignment_expression "pGVar6 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;" if (parenthesized_expression "(pGVar6 == (General_options *)0x0)" ( (binary_expression "pGVar6 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if (((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false))\n        goto LAB_002d82c0;" if (parenthesized_expression "(((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false))" ( (binary_expression "((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false)" (parenthesized_expression "((pGVar6->shared_).value == false)" ( (binary_expression "(pGVar6->shared_).value == false" (field_expression "(pGVar6->shared_).value" (parenthesized_expression "(pGVar6->shared_)" ( (field_expression "pGVar6->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((pGVar6->pie_).value == false)" ( (binary_expression "(pGVar6->pie_).value == false" (field_expression "(pGVar6->pie_).value" (parenthesized_expression "(pGVar6->pie_)" ( (field_expression "pGVar6->pie_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) if (parenthesized_expression "(*(char *)((long)&p_Var3[2]._M_nxt + 1) == '\0')" ( (binary_expression "*(char *)((long)&p_Var3[2]._M_nxt + 1) == '\0'" (pointer_expression "*(char *)((long)&p_Var3[2]._M_nxt + 1)" * (cast_expression "(char *)((long)&p_Var3[2]._M_nxt + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3[2]._M_nxt + 1)" ( (binary_expression "(long)&p_Var3[2]._M_nxt + 1" (cast_expression "(long)&p_Var3[2]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3[2]._M_nxt" & (field_expression "p_Var3[2]._M_nxt" (subscript_expression "p_Var3[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) { identifier = ( (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)\n                     Target_mips<32" (binary_expression "_false> *)\n                     Target_mips" identifier > (pointer_expression "*)\n                     Target_mips" * (ERROR ")" )) identifier)) < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff) {\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");\n          }" (parenthesized_expression "(Target_mips<32,_false> *)&target->rel_dyn_,layout)" ( (comma_expression "Target_mips<32,_false> *)&target->rel_dyn_,layout" (binary_expression "Target_mips<32" identifier < number_literal) , (comma_expression "_false> *)&target->rel_dyn_,layout" (binary_expression "_false> *)&target->rel_dyn_" identifier > (pointer_expression "*)&target->rel_dyn_" * (ERROR ")" )) (pointer_expression "&target->rel_dyn_" & (field_expression "target->rel_dyn_" identifier -> field_identifier)))) , identifier)) )) ; (call_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff)" (assignment_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var3->_M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var3->_M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + number_literal) ))))) (ERROR ";\n          if" ; if) (argument_list "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) ))) (compound_statement "{\nLAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");\n          }" { (labeled_statement "LAB_002d88e0:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx")" identifier (argument_list "("../../gold/mips.cc",0x1fd,"symndx")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""symndx"" " string_content ") ))) ;))) })) identifier = ( (ERROR "Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;\n          bVar10 = false;\n        }\n        else" (comma_expression "Sized_relobj<32,_false> *)p_Var3[1]._M_nxt" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *)p_Var3[1]._M_nxt" identifier > (pointer_expression "*)p_Var3[1]._M_nxt" * (ERROR ")" )) (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)))) ; (assignment_expression "bVar10 = false" identifier = false) ; } else) { identifier = ( (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)\n                     Target_mips<32" (binary_expression "_false> *)\n                     Target_mips" identifier > (pointer_expression "*)\n                     Target_mips" * (ERROR ")" )) identifier)) < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff) goto LAB_002d88e0;" (parenthesized_expression "(Target_mips<32,_false> *)&target->rel_dyn_,layout)" ( (comma_expression "Target_mips<32,_false> *)&target->rel_dyn_,layout" (binary_expression "Target_mips<32" identifier < number_literal) , (comma_expression "_false> *)&target->rel_dyn_,layout" (binary_expression "_false> *)&target->rel_dyn_" identifier > (pointer_expression "*)&target->rel_dyn_" * (ERROR ")" )) (pointer_expression "&target->rel_dyn_" & (field_expression "target->rel_dyn_" identifier -> field_identifier)))) , identifier)) )) ; (call_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);\n          if (uVar11 == 0xffffffff)" (assignment_expression "uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var3->_M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var3->_M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + number_literal) ))))) (ERROR ";\n          if" ; if) (argument_list "(uVar11 == 0xffffffff)" ( (binary_expression "uVar11 == 0xffffffff" identifier == number_literal) ))) identifier identifier ;) identifier = ( (ERROR "Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;\n          bVar10 = true;\n        }\n        gold::" (comma_expression "Sized_relobj<32,_false> *)p_Var3[1]._M_nxt" (binary_expression "Sized_relobj<32" identifier < number_literal) , (binary_expression "_false> *)p_Var3[1]._M_nxt" identifier > (pointer_expression "*)p_Var3[1]._M_nxt" * (ERROR ")" )) (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)))) ; (assignment_expression "bVar10 = true" identifier = true) ; } identifier : :) (binary_expression "Output_reloc<9" identifier < number_literal) , identifier , identifier , identifier > (ERROR "::" : :) identifier ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false);\n        gold::Output_data_reloc_base<9" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" identifier , (comma_expression "_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" identifier , (comma_expression "_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier))) , (comma_expression "relobj,uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" identifier , (comma_expression "uVar11,3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" identifier , (comma_expression "3,(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" number_literal , (comma_expression "(Output_data *)this_00,\n                   address_00,false,bVar10,false,false" (cast_expression "(Output_data *)this_00" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "address_00,false,bVar10,false,false" identifier , (comma_expression "false,bVar10,false,false" false , (comma_expression "bVar10,false,false" identifier , (comma_expression "false,false" false , false)))))))))))) )) (ERROR ";\n        gold::Output_data_reloc_base" ; identifier : : identifier) < number_literal) , identifier , identifier , identifier > (ERROR "::" : :) identifier ( ( (ERROR "Output_data_reloc_base<9,_true,_32,_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key);\n        p_Var19 = p_Var19->_M_nxt;\n      } while (p_Var19 != (_Hash_node_base *)0x0);\nLAB_002d8430:\n      if (this->page_gotno_ == 0) goto LAB_002d86dc;\n    }" (comma_expression "Output_data_reloc_base<9,_true,_32,_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key)" (binary_expression "Output_data_reloc_base<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key)" identifier , (comma_expression "_32,_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key)" identifier , (comma_expression "_false> *)local_60,(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key)" (binary_expression "_false> *)local_60" identifier > (pointer_expression "*)local_60" * (ERROR ")" )) identifier)) , (comma_expression "(Output_data *)this_00,\n                   (Output_reloc<9,_true,_32,_false> *)&key)" (cast_expression "(Output_data *)this_00" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key" identifier , (comma_expression "_32,_false> *)&key" identifier , (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier)))))) ))))))) ; (call_expression "p_Var19 = p_Var19->_M_nxt;\n      } while (p_Var19 != (_Hash_node_base *)0x0)" (assignment_expression "p_Var19 = p_Var19->_M_nxt" identifier = (field_expression "p_Var19->_M_nxt" identifier -> field_identifier)) (ERROR ";\n      } while" ; } while) (argument_list "(p_Var19 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ; (call_expression "LAB_002d8430:\n      if (this->page_gotno_ == 0)" identifier (ERROR ":\n      if" : if) (argument_list "(this->page_gotno_ == 0)" ( (binary_expression "this->page_gotno_ == 0" (field_expression "this->page_gotno_" identifier -> field_identifier) == number_literal) ))) identifier identifier ; }) (assignment_expression "this_01 = target->got_" identifier = (field_expression "target->got_" identifier -> field_identifier)) (ERROR ";\n    if" ; if) ( (ERROR "this_01 != (Mips_output_data_got<32,_false> *)0x0)" (binary_expression "this_01 != (Mips_output_data_got<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) { (expression_statement "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);" (assignment_expression "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe)" (field_expression "key.addend_" identifier . field_identifier) = (call_expression "CONCAT44(key.addend_._4_4_,0x7ffffffe)" identifier (argument_list "(key.addend_._4_4_,0x7ffffffe)" ( (field_expression "key.addend_._4_4_" (field_expression "key.addend_" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (expression_statement "key.symndx_ = 0;" (assignment_expression "key.symndx_ = 0" (field_expression "key.symndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_01._8_1_ = 0xfe;" (assignment_expression "got_entry_01._8_1_ = 0xfe" (field_expression "got_entry_01._8_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_01.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);" (assignment_expression "got_entry_01.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20)" (field_expression "got_entry_01.u_.object" (field_expression "got_entry_01.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Relobj *)((ulong)(uint)key._4_4_ << 0x20)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)key._4_4_ << 0x20)" ( (binary_expression "(ulong)(uint)key._4_4_ << 0x20" (cast_expression "(ulong)(uint)key._4_4_" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)key._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "key._4_4_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "got_entry_01._9_7_ = (int7)(key.addend_ >> 8);" (assignment_expression "got_entry_01._9_7_ = (int7)(key.addend_ >> 8)" (field_expression "got_entry_01._9_7_" identifier . field_identifier) = (call_expression "(int7)(key.addend_ >> 8)" (parenthesized_expression "(int7)" ( identifier )) (argument_list "(key.addend_ >> 8)" ( (binary_expression "key.addend_ >> 8" (field_expression "key.addend_" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "got_entry_01.addend_._0_1_ = uVar20;" (assignment_expression "got_entry_01.addend_._0_1_ = uVar20" (field_expression "got_entry_01.addend_._0_1_" (field_expression "got_entry_01.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "got_entry_01.addend_._1_7_ = uVar21;" (assignment_expression "got_entry_01.addend_._1_7_ = uVar21" (field_expression "got_entry_01.addend_._1_7_" (field_expression "got_entry_01.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "uVar11 = gold::" (assignment_expression "uVar11 = gold" identifier = identifier) : :) (expression_statement "Output_data_got<32,_false>::add_got_entry\n                         (&this_01->super_Output_data_got<32,_false>,got_entry_01);" (comma_expression "Output_data_got<32,_false>::add_got_entry\n                         (&this_01->super_Output_data_got<32,_false>,got_entry_01)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::add_got_entry\n                         (&this_01->super_Output_data_got<32,_false>,got_entry_01)" identifier > (ERROR "::" : :) (call_expression "add_got_entry\n                         (&this_01->super_Output_data_got<32,_false>,got_entry_01)" identifier (argument_list "(&this_01->super_Output_data_got<32,_false>,got_entry_01)" ( (binary_expression "&this_01->super_Output_data_got<32" (pointer_expression "&this_01->super_Output_data_got" & (field_expression "this_01->super_Output_data_got" identifier -> field_identifier)) < number_literal) , identifier (ERROR ">" >) , identifier ))))) ;) (expression_statement "pMVar7 = this_01->primary_got_;" (assignment_expression "pMVar7 = this_01->primary_got_" identifier = (field_expression "this_01->primary_got_" identifier -> field_identifier)) ;) (expression_statement "this->got_page_offset_start_ = uVar11;" (assignment_expression "this->got_page_offset_start_ = uVar11" (field_expression "this->got_page_offset_start_" identifier -> field_identifier) = identifier) ;) if (parenthesized_expression "((pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (parenthesized_expression "(pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (binary_expression "pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)" (binary_expression "pMVar7 != (Mips_got_info<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(this->index_ != 0)" ( (binary_expression "this->index_ != 0" (field_expression "this->index_" identifier -> field_identifier) != number_literal) ))) )) )) { (expression_statement "pGVar6 = gold::parameters->options_;" (field_expression "pGVar6 = gold::parameters->options_" (assignment_expression "pGVar6 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar6 == (General_options *)0x0) {\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(pGVar6 == (General_options *)0x0)" ( (binary_expression "pGVar6 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_002d8898:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (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 (parenthesized_expression "(((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false))" ( (binary_expression "((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)" (parenthesized_expression "((pGVar6->shared_).value != false)" ( (binary_expression "(pGVar6->shared_).value != false" (field_expression "(pGVar6->shared_).value" (parenthesized_expression "(pGVar6->shared_)" ( (field_expression "pGVar6->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "((pGVar6->pie_).value != false)" ( (binary_expression "(pGVar6->pie_).value != false" (field_expression "(pGVar6->pie_).value" (parenthesized_expression "(pGVar6->pie_)" ( (field_expression "pGVar6->pie_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) { identifier = ( (binary_expression "Output_data_reloc_base<9" identifier < number_literal) , identifier , identifier , (binary_expression "_false> *)\n                    Target_mips<32" (binary_expression "_false> *)\n                    Target_mips" identifier > (pointer_expression "*)\n                    Target_mips" * (ERROR ")" )) identifier)) < number_literal) , identifier > (ERROR "::" : :) identifier ( (binary_expression "(Target_mips<32,_false> *)&target->rel_dyn_,layout);\n          gold::Output_reloc<9" (parenthesized_expression "(Target_mips<32,_false> *)&target->rel_dyn_,layout)" ( (comma_expression "Target_mips<32,_false> *)&target->rel_dyn_,layout" (binary_expression "Target_mips<32" identifier < number_literal) , (comma_expression "_false> *)&target->rel_dyn_,layout" (binary_expression "_false> *)&target->rel_dyn_" identifier > (pointer_expression "*)&target->rel_dyn_" * (ERROR ")" )) (pointer_expression "&target->rel_dyn_" & (field_expression "target->rel_dyn_" identifier -> field_identifier)))) , identifier)) )) (ERROR ";\n          gold::Output_reloc" ; identifier : : identifier) < number_literal) , identifier , identifier , identifier > (ERROR "::" : :) identifier ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false);\n          gold::Output_data_reloc_base<9" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false" identifier , (comma_expression "_32,_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false" identifier , (comma_expression "_false> *)&key,3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false" (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier))) , (comma_expression "3,(Output_data *)this_01,\n                     this->got_page_offset_start_,false" number_literal , (comma_expression "(Output_data *)this_01,\n                     this->got_page_offset_start_,false" (cast_expression "(Output_data *)this_01" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "this->got_page_offset_start_,false" (field_expression "this->got_page_offset_start_" identifier -> field_identifier) , false))))))) )) (ERROR ";\n          gold::Output_data_reloc_base" ; identifier : : identifier) < number_literal) , identifier , identifier , (assignment_expression "_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n      do {\n        if (p_Var19 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var3 = p_Var19[1]._M_nxt;\n        if (((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&\n           (*(char *)&p_Var3[2]._M_nxt == '\0')) {\n          uVar11 = 0" (call_expression "_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n      do {\n        if (p_Var19 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var3 = p_Var19[1]._M_nxt;\n        if (((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&\n           (*(char *)&p_Var3[2]._M_nxt == '\0'))" (assignment_expression "_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n      do {\n        if (p_Var19 == (_Hash_node_base *)0x0) {\n          return;\n        }\n        p_Var3 = p_Var19[1]._M_nxt" (call_expression "_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;\n      do {\n        if (p_Var19 == (_Hash_node_base *)0x0)" (binary_expression "_false>::add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt" identifier > (ERROR "::" : :) (field_expression "add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt" (field_expression "add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h._M_before_begin" (field_expression "add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)._M_h" (call_expression "add\n                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)" identifier (argument_list "(pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_)" ( identifier , (cast_expression "(Output_data *)this_01" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (ERROR "(Output_reloc<9,_true,_32,_false> *)&key);\n          uVar11 = this->got_page_offset_start_;\n        }\n      }\n      uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18)" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key" identifier , (comma_expression "_32,_false> *)&key" identifier , (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier)))))) )) ; (assignment_expression "uVar11 = this->got_page_offset_start_" identifier = (field_expression "this->got_page_offset_start_" identifier -> field_identifier)) ; } } (call_expression "uVar18 = this->page_gotno_;\n      while (uVar18 = uVar18 - 1, 0 < (int)uVar18)" (assignment_expression "uVar18 = this->page_gotno_" identifier = (field_expression "this->page_gotno_" identifier -> field_identifier)) (ERROR ";\n      while" ; while) (argument_list "(uVar18 = uVar18 - 1, 0 < (int)uVar18)" ( (assignment_expression "uVar18 = uVar18 - 1" identifier = (binary_expression "uVar18 - 1" identifier - number_literal)) , (binary_expression "0 < (int)uVar18" number_literal < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) (compound_statement "{\n        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);\n        key.symndx_ = 0;\n        got_entry_02._8_1_ = 0xfe;\n        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);\n        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);\n        got_entry_02.addend_._0_1_ = uVar20;\n        got_entry_02.addend_._1_7_ = uVar21;\n        address = gold::Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);\n        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }\n        uVar1 = uVar11 + 4;\n        uVar11 = address;\n        if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" { (expression_statement "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);" (assignment_expression "key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe)" (field_expression "key.addend_" identifier . field_identifier) = (call_expression "CONCAT44(key.addend_._4_4_,0x7ffffffe)" identifier (argument_list "(key.addend_._4_4_,0x7ffffffe)" ( (field_expression "key.addend_._4_4_" (field_expression "key.addend_" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (expression_statement "key.symndx_ = 0;" (assignment_expression "key.symndx_ = 0" (field_expression "key.symndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_02._8_1_ = 0xfe;" (assignment_expression "got_entry_02._8_1_ = 0xfe" (field_expression "got_entry_02._8_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);" (assignment_expression "got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20)" (field_expression "got_entry_02.u_.object" (field_expression "got_entry_02.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Relobj *)((ulong)(uint)key._4_4_ << 0x20)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uint)key._4_4_ << 0x20)" ( (binary_expression "(ulong)(uint)key._4_4_ << 0x20" (cast_expression "(ulong)(uint)key._4_4_" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)key._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "key._4_4_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "got_entry_02._9_7_ = (int7)(key.addend_ >> 8);" (assignment_expression "got_entry_02._9_7_ = (int7)(key.addend_ >> 8)" (field_expression "got_entry_02._9_7_" identifier . field_identifier) = (call_expression "(int7)(key.addend_ >> 8)" (parenthesized_expression "(int7)" ( identifier )) (argument_list "(key.addend_ >> 8)" ( (binary_expression "key.addend_ >> 8" (field_expression "key.addend_" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "got_entry_02.addend_._0_1_ = uVar20;" (assignment_expression "got_entry_02.addend_._0_1_ = uVar20" (field_expression "got_entry_02.addend_._0_1_" (field_expression "got_entry_02.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "got_entry_02.addend_._1_7_ = uVar21;" (assignment_expression "got_entry_02.addend_._1_7_ = uVar21" (field_expression "got_entry_02.addend_._1_7_" (field_expression "got_entry_02.addend_" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "address = gold::" (assignment_expression "address = gold" identifier = identifier) : :) (expression_statement "Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);" (comma_expression "Output_data_got<32,_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02)" identifier > (ERROR "::" : :) (call_expression "add_got_entry\n                            (&this_01->super_Output_data_got<32,_false>,got_entry_02)" identifier (argument_list "(&this_01->super_Output_data_got<32,_false>,got_entry_02)" ( (binary_expression "&this_01->super_Output_data_got<32" (pointer_expression "&this_01->super_Output_data_got" & (field_expression "this_01->super_Output_data_got" identifier -> field_identifier)) < number_literal) , identifier (ERROR ">" >) , identifier ))))) ;) (if_statement "if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }" if (parenthesized_expression "((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (parenthesized_expression "(this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (binary_expression "this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)" (binary_expression "this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_01->primary_got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(this->index_ != 0)" ( (binary_expression "this->index_ != 0" (field_expression "this->index_" identifier -> field_identifier) != number_literal) ))) )) )) (compound_statement "{\n          pGVar6 = gold::parameters->options_;\n          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;\n          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }\n        }" { (expression_statement "pGVar6 = gold::parameters->options_;" (field_expression "pGVar6 = gold::parameters->options_" (assignment_expression "pGVar6 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;" if (parenthesized_expression "(pGVar6 == (General_options *)0x0)" ( (binary_expression "pGVar6 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }" if (parenthesized_expression "(((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false))" ( (binary_expression "((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)" (parenthesized_expression "((pGVar6->shared_).value != false)" ( (binary_expression "(pGVar6->shared_).value != false" (field_expression "(pGVar6->shared_).value" (parenthesized_expression "(pGVar6->shared_)" ( (field_expression "pGVar6->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "((pGVar6->pie_).value != false)" ( (binary_expression "(pGVar6->pie_).value != false" (field_expression "(pGVar6->pie_).value" (parenthesized_expression "(pGVar6->pie_)" ( (field_expression "pGVar6->pie_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) (compound_statement "{\n            pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);\n            gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);\n            __position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }\n            lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;\n            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;\n            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;\n            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;\n            *puVar9 = *puVar9 | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }\n            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }\n          }" { (expression_statement "pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);" (comma_expression "pRVar14 = Target_mips<32,_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout)" (assignment_expression "pRVar14 = Target_mips<32" identifier = (binary_expression "Target_mips<32" identifier < number_literal)) , (binary_expression "_false>::rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout)" identifier > (ERROR "::" : :) (call_expression "rel_dyn_section\n                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout)" identifier (argument_list "((Target_mips<32,_false> *)&target->rel_dyn_,layout)" ( (binary_expression "(Target_mips<32,_false> *)&target->rel_dyn_" (parenthesized_expression "(Target_mips<32,_false> *)" ( (comma_expression "Target_mips<32,_false> *" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "target->rel_dyn_" identifier -> field_identifier)) , identifier ))))) ;) (labeled_statement "gold::Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false);" (comma_expression "Output_reloc<9,_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" identifier , (comma_expression "_32,_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" identifier , (binary_expression "_false>::Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" identifier (argument_list "((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,\n                       false)" ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&key" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier) , number_literal , (cast_expression "(Output_data *)this_01" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false ))))))) ;)) (ERROR "__position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::" (comma_expression "__position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                 super__Vector_base<gold" (assignment_expression "__position._M_current =\n                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal)) , (comma_expression "_true,_32,_false>.relocs_.\n                 super__Vector_base<gold" identifier , (comma_expression "_32,_false>.relocs_.\n                 super__Vector_base<gold" identifier , (binary_expression "_false>.relocs_.\n                 super__Vector_base<gold" (field_expression "_false>.relocs_.\n                 super__Vector_base" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier)))) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish;" (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n                 ._M_impl._M_finish" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                 ._M_impl._M_finish" identifier , (comma_expression "_32,_false>_>_>\n                 ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n                 ._M_impl._M_finish" (field_expression "_false>_>_>\n                 ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) (if_statement "if (__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }\n            else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }" if (parenthesized_expression "(__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage)" ( (ERROR "__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::" (comma_expression "__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                super__Vector_base<gold" (binary_expression "__position._M_current ==\n                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal)) , (comma_expression "_true,_32,_false>.relocs_.\n                super__Vector_base<gold" identifier , (comma_expression "_32,_false>.relocs_.\n                super__Vector_base<gold" identifier , (binary_expression "_false>.relocs_.\n                super__Vector_base<gold" (field_expression "_false>.relocs_.\n                super__Vector_base" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier)))) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                ._M_impl._M_end_of_storage" identifier , (comma_expression "_32,_false>_>_>\n                ._M_impl._M_end_of_storage" identifier , (field_expression "_false>_>_>\n                ._M_impl._M_end_of_storage" (field_expression "_false>_>_>\n                ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) )) (compound_statement "{\n              std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);\n              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;\n            }" { (labeled_statement "std::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);" statement_identifier (ERROR "::\n              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n              ::_M_realloc_insert<const_gold" identifier , (comma_expression "_32,_false>_>_>\n              ::_M_realloc_insert<const_gold" identifier , (binary_expression "_false>_>_>\n              ::_M_realloc_insert<const_gold" (binary_expression "_false>_>_>\n              ::_M_realloc_insert" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key);" (comma_expression "Output_reloc<9,_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" identifier , (comma_expression "_32,_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" identifier , (binary_expression "_false>&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" identifier > (pointer_expression "&>\n                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" & (ERROR ">" >) (parenthesized_expression "(&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key)" ( (comma_expression "&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key" (binary_expression "&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base<9" (pointer_expression "&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base" & (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                          super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier)) < number_literal) , (comma_expression "_true,_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key" identifier , (comma_expression "_32,_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key" identifier , (comma_expression "_false>.relocs_,__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) , (comma_expression "__position,\n                         (Output_reloc<9,_true,_32,_false> *)&key" identifier , (binary_expression "(Output_reloc<9,_true,_32,_false> *)&key" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *" identifier , (comma_expression "_32,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier)))))) ))))))) ;)) (ERROR "pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::" (comma_expression "pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                        super__Vector_base<gold" (assignment_expression "pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9" identifier = (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal)) , (comma_expression "_true,_32,_false>.relocs_.\n                        super__Vector_base<gold" identifier , (comma_expression "_32,_false>.relocs_.\n                        super__Vector_base<gold" identifier , (binary_expression "_false>.relocs_.\n                        super__Vector_base<gold" (field_expression "_false>.relocs_.\n                        super__Vector_base" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier)))) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish;" (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n                        ._M_impl._M_finish" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                        ._M_impl._M_finish" identifier , (comma_expression "_32,_false>_>_>\n                        ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n                        ._M_impl._M_finish" (field_expression "_false>_>_>\n                        ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) }) (else_clause "else {\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }" else (compound_statement "{\n              aVar8._4_4_ = key._4_4_;\n              aVar8._0_4_ = key.symndx_;\n              pOVar16 = __position._M_current + 1;\n              (__position._M_current)->u1_ = aVar8;\n              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;\n              (__position._M_current)->address_ = local_48;\n              (__position._M_current)->local_sym_index_ = uStack_44;\n              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);\n              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;\n            }" { (expression_statement "aVar8._4_4_ = key._4_4_;" (assignment_expression "aVar8._4_4_ = key._4_4_" (field_expression "aVar8._4_4_" identifier . field_identifier) = (field_expression "key._4_4_" identifier . field_identifier)) ;) (expression_statement "aVar8._0_4_ = key.symndx_;" (assignment_expression "aVar8._0_4_ = key.symndx_" (field_expression "aVar8._0_4_" identifier . field_identifier) = (field_expression "key.symndx_" identifier . field_identifier)) ;) (expression_statement "pOVar16 = __position._M_current + 1;" (assignment_expression "pOVar16 = __position._M_current + 1" identifier = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "(__position._M_current)->u1_ = aVar8;" (assignment_expression "(__position._M_current)->u1_ = aVar8" (field_expression "(__position._M_current)->u1_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;" (assignment_expression "(__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_" (field_expression "(__position._M_current)->u2_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)key.addend_" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) (field_expression "key.addend_" identifier . field_identifier))) ;) (expression_statement "(__position._M_current)->address_ = local_48;" (assignment_expression "(__position._M_current)->address_ = local_48" (field_expression "(__position._M_current)->address_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->local_sym_index_ = uStack_44;" (assignment_expression "(__position._M_current)->local_sym_index_ = uStack_44" (field_expression "(__position._M_current)->local_sym_index_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);" (assignment_expression "*(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40)" (pointer_expression "*(ulong *)&(__position._M_current)->field_0x18" * (cast_expression "(ulong *)&(__position._M_current)->field_0x18" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->field_0x18" & (field_expression "(__position._M_current)->field_0x18" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = (call_expression "CONCAT44(uStack_3c,uStack_40)" identifier (argument_list "(uStack_3c,uStack_40)" ( identifier , identifier )))) ;) (ERROR "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::" (comma_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n              super__Vector_base<gold" (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n              super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_true,_32,_false>.relocs_.\n              super__Vector_base<gold" identifier , (comma_expression "_32,_false>.relocs_.\n              super__Vector_base<gold" identifier , (binary_expression "_false>.relocs_.\n              super__Vector_base<gold" (field_expression "_false>.relocs_.\n              super__Vector_base" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier)))) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16;" (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16" identifier , (comma_expression "_32,_false>_>_>\n              ._M_impl._M_finish = pOVar16" identifier , (assignment_expression "_false>_>_>\n              ._M_impl._M_finish = pOVar16" (field_expression "_false>_>_>\n              ._M_impl._M_finish" (field_expression "_false>_>_>\n              ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)))) ;) }))) (ERROR "lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::" (comma_expression "lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.\n                           super__Vector_base<gold" (assignment_expression "lVar17 = (long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9" identifier = (binary_expression "(long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base<9" (binary_expression "(long)pOVar16 -\n                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base" (cast_expression "(long)pOVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                           super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier))) < number_literal)) , (comma_expression "_true,_32,_false>.relocs_.\n                           super__Vector_base<gold" identifier , (comma_expression "_32,_false>.relocs_.\n                           super__Vector_base<gold" identifier , (binary_expression "_false>.relocs_.\n                           super__Vector_base<gold" (field_expression "_false>.relocs_.\n                           super__Vector_base" (field_expression "_false>.relocs_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier)))) : : (comma_expression "Output_reloc<9,_true,_32,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>,_std" identifier , (comma_expression "_32,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5;" (comma_expression "Output_reloc<9,_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false>_>_>\n                           ._M_impl._M_start >> 5" identifier , (comma_expression "_32,_false>_>_>\n                           ._M_impl._M_start >> 5" identifier , (binary_expression "_false>_>_>\n                           ._M_impl._M_start >> 5" (field_expression "_false>_>_>\n                           ._M_impl._M_start" (field_expression "_false>_>_>\n                           ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal)))) ;) (if_statement "if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0) goto LAB_002d88fd;" if (parenthesized_expression "(((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0)" ( (binary_expression "((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2) != 0" (parenthesized_expression "((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2)" ( (comma_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2" (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                 super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_true,_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2" identifier , (comma_expression "_32,_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2" identifier , (binary_expression "_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20 & 2" (field_expression "_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                 field_0x20" (field_expression "_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build.super_Output_section_data" (field_expression "_false>.super_Output_data_reloc_generic.\n                 super_Output_section_data_build" (field_expression "_false>.super_Output_data_reloc_generic" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal)))) )) != number_literal) )) (goto_statement "goto LAB_002d88fd;" goto statement_identifier ;)) (expression_statement "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8;" (comma_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8" (binary_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base<9" (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n            super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_true,_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8" identifier , (comma_expression "_32,_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8" identifier , (assignment_expression "_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =\n                 lVar17 * 8" (field_expression "_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_" (field_expression "_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build.super_Output_section_data" (field_expression "_false>.super_Output_data_reloc_generic.\n            super_Output_section_data_build" (field_expression "_false>.super_Output_data_reloc_generic" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "lVar17 * 8" identifier * number_literal))))) ;) (expression_statement "puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20;" (assignment_expression "puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20" identifier = (pointer_expression "&(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20" & (field_expression "(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      field_0x20" (field_expression "(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data" (field_expression "(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build" (field_expression "(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base" (parenthesized_expression "(this_01->super_Output_data_got<32,_false>)" ( (comma_expression "this_01->super_Output_data_got<32,_false" (binary_expression "this_01->super_Output_data_got<32" (field_expression "this_01->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "*puVar9 = *puVar9 | 0x10;" (assignment_expression "*puVar9 = *puVar9 | 0x10" (pointer_expression "*puVar9" * identifier) = (binary_expression "*puVar9 | 0x10" (pointer_expression "*puVar9" * identifier) | number_literal)) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;\n              *psVar2 = *psVar2 + 1;\n            }" { (expression_statement "psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_;" (comma_expression "psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9,_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_" (assignment_expression "psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9" identifier = (binary_expression "&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base<9" (pointer_expression "&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base" & (field_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).\n                        super_Output_data_reloc_base" (parenthesized_expression "(pRVar14->super_Output_data_reloc<9,_true,_32,_false>)" ( (comma_expression "pRVar14->super_Output_data_reloc<9,_true,_32,_false" (binary_expression "pRVar14->super_Output_data_reloc<9" (field_expression "pRVar14->super_Output_data_reloc" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_32,_false" identifier , (comma_expression "_32,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier)) < number_literal)) , (comma_expression "_true,_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_" identifier , (comma_expression "_32,_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_" identifier , (field_expression "_false>.\n                        super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "_false>.\n                        super_Output_data_reloc_generic" identifier (ERROR ">" >) . field_identifier) . field_identifier)))) ;) (expression_statement "*psVar2 = *psVar2 + 1;" (assignment_expression "*psVar2 = *psVar2 + 1" (pointer_expression "*psVar2" * identifier) = (binary_expression "*psVar2 + 1" (pointer_expression "*psVar2" * identifier) + number_literal)) ;) })) (if_statement "if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }" if (parenthesized_expression "((uStack_3c != 0xfffffffc) && (key.addend_ != 0))" ( (binary_expression "(uStack_3c != 0xfffffffc) && (key.addend_ != 0)" (parenthesized_expression "(uStack_3c != 0xfffffffc)" ( (binary_expression "uStack_3c != 0xfffffffc" identifier != number_literal) )) && (parenthesized_expression "(key.addend_ != 0)" ( (binary_expression "key.addend_ != 0" (field_expression "key.addend_" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n              if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }\n              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;\n            }" { (if_statement "if (*(int *)(key.addend_ + 0xa4) == 0) {\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }" if (parenthesized_expression "(*(int *)(key.addend_ + 0xa4) == 0)" ( (binary_expression "*(int *)(key.addend_ + 0xa4) == 0" (pointer_expression "*(int *)(key.addend_ + 0xa4)" * (cast_expression "(int *)(key.addend_ + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(key.addend_ + 0xa4)" ( (binary_expression "key.addend_ + 0xa4" (field_expression "key.addend_" identifier . field_identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;\n              }" { (expression_statement "*(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;" (assignment_expression "*(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1" (pointer_expression "*(int *)(key.addend_ + 0xa0)" * (cast_expression "(int *)(key.addend_ + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(key.addend_ + 0xa0)" ( (binary_expression "key.addend_ + 0xa0" (field_expression "key.addend_" identifier . field_identifier) + number_literal) )))) = (binary_expression "(int)lVar17 + -1" (cast_expression "(int)lVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (expression_statement "*(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;" (assignment_expression "*(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1" (pointer_expression "*(int *)(key.addend_ + 0xa4)" * (cast_expression "(int *)(key.addend_ + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(key.addend_ + 0xa4)" ( (binary_expression "key.addend_ + 0xa4" (field_expression "key.addend_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(int *)(key.addend_ + 0xa4) + 1" (pointer_expression "*(int *)(key.addend_ + 0xa4)" * (cast_expression "(int *)(key.addend_ + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(key.addend_ + 0xa4)" ( (binary_expression "key.addend_ + 0xa4" (field_expression "key.addend_" identifier . field_identifier) + number_literal) )))) + number_literal)) ;) })) })) })) (expression_statement "uVar1 = uVar11 + 4;" (assignment_expression "uVar1 = uVar11 + 4" identifier = (binary_expression "uVar11 + 4" identifier + number_literal)) ;) (expression_statement "uVar11 = address;" (assignment_expression "uVar11 = address" identifier = identifier) ;) (if_statement "if (address != uVar1) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" if (parenthesized_expression "(address != uVar1)" ( (binary_expression "address != uVar1" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries")" identifier (argument_list "("../../gold/mips.cc",0x1739,"add_page_entries")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""add_page_entries"" " string_content ") ))) ;)) })) }) (ERROR "this->got_page_offset_next_ = this->got_page_offset_start_;\nLAB_002d86dc:\n      p_Var19 = (this->got_entries_" identifier -> identifier = identifier -> identifier ; identifier : identifier = ( identifier -> identifier) ))) . field_identifier) . field_identifier) . field_identifier)) (ERROR ";\n      do {\n        if" ; do { if) (argument_list "(p_Var19 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{\n          return;\n        }\n        p_Var3" { return ; } identifier) = (field_expression "p_Var19[1]._M_nxt" (subscript_expression "p_Var19[1]" identifier [ number_literal ]) . field_identifier)) (ERROR ";\n        if" ; if) (argument_list "(((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&\n           (*(char *)&p_Var3[2]._M_nxt == '\0'))" ( (binary_expression "((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&\n           (*(char *)&p_Var3[2]._M_nxt == '\0')" (parenthesized_expression "((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2))" ( (binary_expression "(*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&\n            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)" (parenthesized_expression "(*(int *)((long)&p_Var3->_M_nxt + 4) == -1)" ( (binary_expression "*(int *)((long)&p_Var3->_M_nxt + 4) == -1" (pointer_expression "*(int *)((long)&p_Var3->_M_nxt + 4)" * (cast_expression "(int *)((long)&p_Var3->_M_nxt + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var3->_M_nxt + 4)" ( (binary_expression "(long)&p_Var3->_M_nxt + 4" (cast_expression "(long)&p_Var3->_M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var3->_M_nxt" & (field_expression "p_Var3->_M_nxt" identifier -> field_identifier))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)" ( (comma_expression "gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2" (assignment_expression "gsym = (Symbol *)p_Var3[1]._M_nxt" identifier = (cast_expression "(Symbol *)p_Var3[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3[1]._M_nxt" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier))) , (binary_expression "gsym[1].symtab_index_ == 2" (field_expression "gsym[1].symtab_index_" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) == number_literal)) ))) )) && (parenthesized_expression "(*(char *)&p_Var3[2]._M_nxt == '\0')" ( (binary_expression "*(char *)&p_Var3[2]._M_nxt == '\0'" (pointer_expression "*(char *)&p_Var3[2]._M_nxt" * (cast_expression "(char *)&p_Var3[2]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var3[2]._M_nxt" & (field_expression "p_Var3[2]._M_nxt" (subscript_expression "p_Var3[2]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) ))) ))) (ERROR "{\n          uVar11" { identifier) = number_literal) (ERROR ";\n          if" ; if) ( (ERROR "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n              (Mips_got_info<32,_false> *)0x0) {\n            uVar11 = this->index_ + 3;\n          }\n          bVar10 = gold::" (binary_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n              (Mips_got_info<32,_false> *)0x0)" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h" (call_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(this_00->got_page_offsets_)" ( (field_expression "this_00->got_page_offsets_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n            uVar11 = this->index_ + 3;\n          }" { (expression_statement "uVar11 = this->index_ + 3;" (assignment_expression "uVar11 = this->index_ + 3" identifier = (binary_expression "this->index_ + 3" (field_expression "this->index_" identifier -> field_identifier) + number_literal)) ;) }) (assignment_expression "bVar10 = gold" identifier = identifier) : :) (binary_expression "Output_data_got<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Output_data_got<32,_false> *)this_00,gsym,uVar11);\n          if (bVar10)" (call_expression "(Output_data_got<32,_false> *)this_00,gsym,uVar11);\n          if (bVar10)" (parenthesized_expression "(Output_data_got<32,_false> *)this_00,gsym,uVar11)" ( (comma_expression "Output_data_got<32,_false> *)this_00,gsym,uVar11" (binary_expression "Output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)this_00,gsym,uVar11" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , (comma_expression "gsym,uVar11" identifier , identifier))) )) (ERROR ";\n          if" ; if) (argument_list "(bVar10)" ( identifier )))) { (expression_statement "pGVar15 = &gsym->got_offsets_;" (assignment_expression "pGVar15 = &gsym->got_offsets_" identifier = (pointer_expression "&gsym->got_offsets_" & (field_expression "gsym->got_offsets_" identifier -> field_identifier))) ;) (while_statement "while (uVar11 != pGVar15->got_type_) {\n              pGVar15 = pGVar15->got_next_;\n              if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;\n            }" while (parenthesized_expression "(uVar11 != pGVar15->got_type_)" ( (binary_expression "uVar11 != pGVar15->got_type_" identifier != (field_expression "pGVar15->got_type_" identifier -> field_identifier)) )) (compound_statement "{\n              pGVar15 = pGVar15->got_next_;\n              if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;\n            }" { (expression_statement "pGVar15 = pGVar15->got_next_;" (assignment_expression "pGVar15 = pGVar15->got_next_" identifier = (field_expression "pGVar15->got_next_" identifier -> field_identifier)) ;) (if_statement "if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;" if (parenthesized_expression "(pGVar15 == (Got_offset_list *)0x0)" ( (binary_expression "pGVar15 == (Got_offset_list *)0x0" identifier == (cast_expression "(Got_offset_list *)0x0" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d875e;" goto statement_identifier ;)) })) (expression_statement "uVar18 = pGVar15->got_offset_;" (assignment_expression "uVar18 = pGVar15->got_offset_" identifier = (field_expression "pGVar15->got_offset_" identifier -> field_identifier)) ;) (if_statement "if (uVar18 == 0xffffffff) {\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");\n            }" if (parenthesized_expression "(uVar18 == 0xffffffff)" ( (binary_expression "uVar18 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");\n            }" { (labeled_statement "LAB_002d875e:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset")" identifier (argument_list "("../../gold/symtab.h",0x1b7,"got_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""got_offset"" " string_content ") ))) ;))) })) (if_statement "if ((gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_)) {\n              gsym[1].dynsym_index_ = uVar18;\n            }" if (parenthesized_expression "((gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_))" ( (binary_expression "(gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_)" (parenthesized_expression "(gsym[1].dynsym_index_ == 0xffffffff)" ( (binary_expression "gsym[1].dynsym_index_ == 0xffffffff" (field_expression "gsym[1].dynsym_index_" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) == number_literal) )) || (parenthesized_expression "(uVar18 < gsym[1].dynsym_index_)" ( (binary_expression "uVar18 < gsym[1].dynsym_index_" identifier < (field_expression "gsym[1].dynsym_index_" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier)) ))) )) (compound_statement "{\n              gsym[1].dynsym_index_ = uVar18;\n            }" { (expression_statement "gsym[1].dynsym_index_ = uVar18;" (assignment_expression "gsym[1].dynsym_index_ = uVar18" (field_expression "gsym[1].dynsym_index_" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })) if (parenthesized_expression "(((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (parenthesized_expression "((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0))" ( (binary_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)" (binary_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=\n                 (Mips_got_info<32,_false> *)0x0)" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count" (field_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h" (call_expression "(Mips_got_info<32,_false> *)(this_00->got_page_offsets_)" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(this_00->got_page_offsets_)" ( (field_expression "this_00->got_page_offsets_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(this->index_ != 0)" ( (binary_expression "this->index_ != 0" (field_expression "this->index_" identifier -> field_identifier) != number_literal) ))) )) )) { (expression_statement "pGVar6 = gold::parameters->options_;" (field_expression "pGVar6 = gold::parameters->options_" (assignment_expression "pGVar6 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;" if (parenthesized_expression "(pGVar6 == (General_options *)0x0)" ( (binary_expression "pGVar6 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) if (parenthesized_expression "(((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false))" ( (binary_expression "((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)" (parenthesized_expression "((pGVar6->shared_).value != false)" ( (binary_expression "(pGVar6->shared_).value != false" (field_expression "(pGVar6->shared_).value" (parenthesized_expression "(pGVar6->shared_)" ( (field_expression "pGVar6->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "((pGVar6->pie_).value != false)" ( (binary_expression "(pGVar6->pie_).value != false" (field_expression "(pGVar6->pie_).value" (parenthesized_expression "(pGVar6->pie_)" ( (field_expression "pGVar6->pie_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) { identifier = ( (binary_expression "Output_data_reloc_base<9" identifier < number_literal) , identifier , identifier , (binary_expression "_false> *)\n                          Target_mips<32" (binary_expression "_false> *)\n                          Target_mips" identifier > (pointer_expression "*)\n                          Target_mips" * (ERROR ")" )) identifier)) < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)&target->rel_dyn_,layout);\n                uVar11 = gold::Symbol::got_offset(gsym,uVar11);\n                gold::" (parenthesized_expression "(Target_mips<32,_false> *)&target->rel_dyn_,layout)" ( (comma_expression "Target_mips<32,_false> *)&target->rel_dyn_,layout" (binary_expression "Target_mips<32" identifier < number_literal) , (comma_expression "_false> *)&target->rel_dyn_,layout" (binary_expression "_false> *)&target->rel_dyn_" identifier > (pointer_expression "*)&target->rel_dyn_" * (ERROR ")" )) (pointer_expression "&target->rel_dyn_" & (field_expression "target->rel_dyn_" identifier -> field_identifier)))) , identifier)) )) ; (assignment_expression "uVar11 = gold" identifier = identifier) : : identifier : : (call_expression "got_offset(gsym,uVar11)" identifier (argument_list "(gsym,uVar11)" ( identifier , identifier ))) ; identifier : :) (binary_expression "Output_reloc<9" identifier < number_literal) , identifier , identifier , identifier > (ERROR "::" : :) identifier ( (binary_expression "(Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false);\n                gold::Output_data_reloc_base<9" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false" identifier , (comma_expression "_32,_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false" identifier , (comma_expression "_false> *)&key,gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false" (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier))) , (comma_expression "gsym,3,(Output_data *)this_00,\n                           uVar11,false,true,false" identifier , (comma_expression "3,(Output_data *)this_00,\n                           uVar11,false,true,false" number_literal , (comma_expression "(Output_data *)this_00,\n                           uVar11,false,true,false" (cast_expression "(Output_data *)this_00" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "uVar11,false,true,false" identifier , (comma_expression "false,true,false" false , (comma_expression "true,false" true , false)))))))))) )) (ERROR ";\n                gold::Output_data_reloc_base" ; identifier : : identifier) < number_literal) , identifier , identifier , (binary_expression "_false>::add\n                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while( true );\n    }\n  }\n  Target_mips<32" (binary_expression "_false>::add\n                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while( true )" identifier > (ERROR "::" : :) (call_expression "add\n                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while( true )" identifier (argument_list "(pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while( true )" ( identifier , (cast_expression "(Output_data *)this_00" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (ERROR "(Output_reloc<9,_true,_32,_false> *)&key);\n              }\n            }\n          }\n        }\n        p_Var19 = p_Var19->_M_nxt;\n      } while(" (parenthesized_expression "(Output_reloc<9,_true,_32,_false> *)&key)" ( (comma_expression "Output_reloc<9,_true,_32,_false> *)&key" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_32,_false> *)&key" identifier , (comma_expression "_32,_false> *)&key" identifier , (binary_expression "_false> *)&key" identifier > (pointer_expression "*)&key" * (ERROR ")" )) (pointer_expression "&key" & identifier)))))) )) ; } } } } (assignment_expression "p_Var19 = p_Var19->_M_nxt" identifier = (field_expression "p_Var19->_M_nxt" identifier -> field_identifier)) ; } while () true )))) (ERROR ";\n    }\n  }\n  Target_mips" ; } } identifier) < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)local_60);\nLAB_002d88fd:" (parenthesized_expression "(Target_mips<32,_false> *)local_60)" ( (comma_expression "Target_mips<32,_false> *)local_60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)local_60" identifier > (pointer_expression "*)local_60" * (ERROR ")" )) identifier))) )) ; identifier :) comment (ERROR "gold::" identifier : :) (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ; })
(translation_unit "void FUN_002d8220(long param_1,long param_2,undefined8 param_3)\n\n{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" (function_definition "void FUN_002d8220(long param_1,long param_2,undefined8 param_3)\n\n{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" primitive_type (function_declarator "FUN_002d8220(long param_1,long param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,long param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "long *plVar18;" (sized_type_specifier "long" long) (pointer_declarator "*plVar18" * identifier) ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int iStack_3c;" primitive_type identifier ;) (expression_statement "lVar2 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar2 = *(long *)(param_2 + 0x20)" identifier = (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" { (expression_statement "uStack_50._0_4_ = 0x7ffffffe;" (assignment_expression "uStack_50._0_4_ = 0x7ffffffe" (field_expression "uStack_50._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" identifier (argument_list "(lVar2)" ( identifier ))) ;) (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" identifier (argument_list "(lVar2)" ( identifier ))) ;) (expression_statement "plVar18 = *(long **)(param_1 + 0x60);" (assignment_expression "plVar18 = *(long **)(param_1 + 0x60)" identifier = (pointer_expression "*(long **)(param_1 + 0x60)" * (cast_expression "(long **)(param_1 + 0x60)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" if (parenthesized_expression "(plVar18 == (long *)0x0)" ( (binary_expression "plVar18 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }" { (if_statement "if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (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) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" { (do_statement "do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);" do (compound_statement "{\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      }" { (while_statement "while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" { (expression_statement "puVar3 = (uint *)plVar18[1];" (assignment_expression "puVar3 = (uint *)plVar18[1]" identifier = (cast_expression "(uint *)plVar18[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar18[1]" identifier [ number_literal ]))) ;) (if_statement "if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;" if (parenthesized_expression "((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0'))" ( (binary_expression "(puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')" (parenthesized_expression "(puVar3[1] != 0xffffffff)" ( (binary_expression "puVar3[1] != 0xffffffff" (subscript_expression "puVar3[1]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((char)puVar3[4] == '\0')" ( (binary_expression "(char)puVar3[4] == '\0'" (cast_expression "(char)puVar3[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar3[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002d82c0:\n          plVar18 = (long *)*plVar18;" statement_identifier : (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" identifier = (cast_expression "(long *)*plVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar18" * identifier))) ;)) (if_statement "if (plVar18 == (long *)0x0) goto LAB_002d8430;" if (parenthesized_expression "(plVar18 == (long *)0x0)" ( (binary_expression "plVar18 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8430;" goto statement_identifier ;)) })) (expression_statement "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);" (call_expression "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" identifier (argument_list "(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" ( identifier , (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) , (subscript_expression "puVar3[1]" identifier [ number_literal ]) , number_literal , (pointer_expression "*puVar3" * identifier) ))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1f5,"object");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1f5,"object")" identifier (argument_list "("../../gold/mips.cc",0x1f5,"object")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(puVar3 + 2);" (assignment_expression "plVar4 = *(long **)(puVar3 + 2)" identifier = (pointer_expression "*(long **)(puVar3 + 2)" * (cast_expression "(long **)(puVar3 + 2)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x160) == FUN_0022eac0)" ( (binary_expression "*(code **)(*plVar4 + 0x160) == FUN_0022eac0" (pointer_expression "*(code **)(*plVar4 + 0x160)" * (cast_expression "(code **)(*plVar4 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x160)" ( (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }" { (expression_statement "local_58 = uVar1;" (assignment_expression "local_58 = uVar1" identifier = identifier) ;) (expression_statement "uStack_50 = (ulong)*puVar3;" (assignment_expression "uStack_50 = (ulong)*puVar3" identifier = (binary_expression "(ulong)*puVar3" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);" (assignment_expression "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58)" identifier = (call_expression "FUN_0022e8e0(plVar4 + 0x15,&local_58)" identifier (argument_list "(plVar4 + 0x15,&local_58)" ( (binary_expression "plVar4 + 0x15" identifier + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83c,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;) })) (expression_statement "piVar14 = *(int **)(lVar11 + 0x18);" (assignment_expression "piVar14 = *(int **)(lVar11 + 0x18)" identifier = (pointer_expression "*(int **)(lVar11 + 0x18)" * (cast_expression "(int **)(lVar11 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x18)" ( (binary_expression "lVar11 + 0x18" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" { (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d8868;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d8868;" goto statement_identifier ;)) (if_statement "if (*piVar14 == 0) break;" if (parenthesized_expression "(*piVar14 == 0)" ( (binary_expression "*piVar14 == 0" (pointer_expression "*piVar14" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" identifier = (pointer_expression "*(int **)(piVar14 + 2)" * (cast_expression "(int **)(piVar14 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 2)" ( (binary_expression "piVar14 + 2" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = piVar14[1];" (assignment_expression "iVar7 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" { (labeled_statement "LAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset")" identifier (argument_list "("../../gold/object.h",0x83e,"do_local_got_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_local_got_offset"" " string_content ") ))) ;)) })) }) (else_clause "else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" else (compound_statement "{\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" { (expression_statement "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);" (assignment_expression "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" identifier = (call_expression "(**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" (parenthesized_expression "(**(code **)(*plVar4 + 0x160))" ( (pointer_expression "**(code **)(*plVar4 + 0x160)" * (pointer_expression "*(code **)(*plVar4 + 0x160)" * (cast_expression "(code **)(*plVar4 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x160)" ( (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar1,0)" ( identifier , identifier , number_literal )))) ;) }))) (if_statement "if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;" if (parenthesized_expression "((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0))" ( (binary_expression "(*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) == 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x108) == 0)" ( (binary_expression "*(int *)(param_1 + 0x108) == 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;" if (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))" ( (binary_expression "(*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" * (cast_expression "(char *)(lVar11 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x2a61)" ( (binary_expression "lVar11 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" * (cast_expression "(char *)(lVar11 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x42d1)" ( (binary_expression "lVar11 + 0x42d1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_002d82c0;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" if (parenthesized_expression "(*(char *)((long)puVar3 + 0x11) == '\0')" ( (binary_expression "*(char *)((long)puVar3 + 0x11) == '\0'" (pointer_expression "*(char *)((long)puVar3 + 0x11)" * (cast_expression "(char *)((long)puVar3 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 0x11)" ( (binary_expression "(long)puVar3 + 0x11" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }" { (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" { (labeled_statement "LAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx")" identifier (argument_list "("../../gold/mips.cc",0x1fd,"symndx")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""symndx"" " string_content ") ))) ;)) })) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" else (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" { (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" identifier = (subscript_expression "puVar3[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) goto LAB_002d88e0;" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_002d88e0;" goto statement_identifier ;)) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar3 + 2)" * (cast_expression "(undefined8 *)(puVar3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) }))) (expression_statement "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);" (call_expression "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" identifier (argument_list "(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal , identifier , identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001a67c0(local_60,lVar2,&local_58);" (call_expression "FUN_001a67c0(local_60,lVar2,&local_58)" identifier (argument_list "(local_60,lVar2,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" identifier = (cast_expression "(long *)*plVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar18" * identifier))) ;) }) while (parenthesized_expression "(plVar18 != (long *)0x0)" ( (binary_expression "plVar18 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" statement_identifier : (if_statement "if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (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) )) (goto_statement "goto LAB_002d86dc;" goto statement_identifier ;))) }))) (expression_statement "lVar11 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar11 = *(long *)(param_2 + 0x20)" identifier = (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" { (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = FUN_003e1b00(lVar11);" (assignment_expression "iVar7 = FUN_003e1b00(lVar11)" identifier = (call_expression "FUN_003e1b00(lVar11)" identifier (argument_list "(lVar11)" ( identifier )))) ;) (expression_statement "lVar13 = *(long *)(lVar11 + 0xd0);" (assignment_expression "lVar13 = *(long *)(lVar11 + 0xd0)" identifier = (pointer_expression "*(long *)(lVar11 + 0xd0)" * (cast_expression "(long *)(lVar11 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0xd0)" ( (binary_expression "lVar11 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0xc0) = iVar7;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar7" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" if (parenthesized_expression "((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" { (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" if (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" * (cast_expression "(char *)(lVar13 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x42d1)" ( (binary_expression "lVar13 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" { (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" identifier (argument_list "(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" ( (pointer_expression "&local_58" & identifier) , number_literal , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" * (cast_expression "(undefined4 *)(param_1 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "FUN_001a67c0(uVar12,lVar11,&local_58);" (call_expression "FUN_001a67c0(uVar12,lVar11,&local_58)" identifier (argument_list "(uVar12,lVar11,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0xc0);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xc0)" identifier = (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar17 = *(int *)(param_1 + 4);" (assignment_expression "iVar17 = *(int *)(param_1 + 4)" identifier = (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) ))))) ;) (while_statement "while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" while (parenthesized_expression "(iVar17 = iVar17 + -1, 0 < iVar17)" ( (comma_expression "iVar17 = iVar17 + -1, 0 < iVar17" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) , (binary_expression "0 < iVar17" number_literal < identifier)) )) (compound_statement "{\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" { (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier = (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" identifier (argument_list "(uStack_50._4_4_,0x7ffffffe)" ( (field_expression "uStack_50._4_4_" identifier . field_identifier) , number_literal )))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = FUN_003e1b00(lVar11);" (assignment_expression "iVar9 = FUN_003e1b00(lVar11)" identifier = (call_expression "FUN_003e1b00(lVar11)" identifier (argument_list "(lVar11)" ( identifier )))) ;) (if_statement "if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" if (parenthesized_expression "((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar11 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar11 + 0xd0) != 0" (pointer_expression "*(long *)(lVar11 + 0xd0)" * (cast_expression "(long *)(lVar11 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0xd0)" ( (binary_expression "lVar11 + 0xd0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" { (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" if (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" * (cast_expression "(char *)(lVar13 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x42d1)" ( (binary_expression "lVar13 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" { (expression_statement "lVar13 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "lVar13 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0)" identifier (argument_list "(&local_58,3,lVar11,iVar9,0)" ( (pointer_expression "&local_58" & identifier) , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "puVar5 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar5 = *(undefined8 **)(lVar13 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(lVar13 + 0x58))" ( (binary_expression "puVar5 == *(undefined8 **)(lVar13 + 0x58)" identifier == (pointer_expression "*(undefined8 **)(lVar13 + 0x58)" * (cast_expression "(undefined8 **)(lVar13 + 0x58)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x58)" ( (binary_expression "lVar13 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }" { (expression_statement "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);" (call_expression "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58)" identifier (argument_list "(lVar13 + 0x48,puVar5,&local_58)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar15 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar15 = *(undefined8 **)(lVar13 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" else (compound_statement "{\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" { (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (expression_statement "*puVar5 = CONCAT44(uStack_54,local_58);" (assignment_expression "*puVar5 = CONCAT44(uStack_54,local_58)" (pointer_expression "*puVar5" * identifier) = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (expression_statement "puVar5[1] = uStack_50;" (assignment_expression "puVar5[1] = uStack_50" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_48;" (assignment_expression "puVar5[2] = local_48" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar5[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (call_expression "CONCAT44(iStack_3c,uStack_40)" identifier (argument_list "(iStack_3c,uStack_40)" ( identifier , identifier )))) ;) (expression_statement "*(undefined8 **)(lVar13 + 0x50) = puVar15;" (assignment_expression "*(undefined8 **)(lVar13 + 0x50) = puVar15" (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" * (cast_expression "(undefined8 **)(lVar13 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;" (assignment_expression "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" identifier = (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) != 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002d88fd;" goto statement_identifier ;)) (expression_statement "*(long *)(lVar13 + 0x10) = lVar16 * 8;" (assignment_expression "*(long *)(lVar13 + 0x10) = lVar16 * 8" (pointer_expression "*(long *)(lVar13 + 0x10)" * (cast_expression "(long *)(lVar13 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "lVar16 * 8" identifier * number_literal)) ;) (expression_statement "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;" (assignment_expression "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" * (cast_expression "(byte *)(lVar11 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x20)" ( (binary_expression "lVar11 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" * (cast_expression "(byte *)(lVar11 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x20)" ( (binary_expression "lVar11 + 0x20" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" if (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" ( (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" ( (binary_expression "uStack_40 & 0x10000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" { (expression_statement "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;" (assignment_expression "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "*(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" if (parenthesized_expression "((iStack_3c != -4) && (uStack_50 != 0))" ( (binary_expression "(iStack_3c != -4) && (uStack_50 != 0)" (parenthesized_expression "(iStack_3c != -4)" ( (binary_expression "iStack_3c != -4" identifier != number_literal) )) && (parenthesized_expression "(uStack_50 != 0)" ( (binary_expression "uStack_50 != 0" identifier != number_literal) ))) )) (compound_statement "{\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" { (if_statement "if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" if (parenthesized_expression "(*(int *)(uStack_50 + 0xa4) == 0)" ( (binary_expression "*(int *)(uStack_50 + 0xa4) == 0" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" { (expression_statement "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;" (assignment_expression "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1" (pointer_expression "*(int *)(uStack_50 + 0xa0)" * (cast_expression "(int *)(uStack_50 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa0)" ( (binary_expression "uStack_50 + 0xa0" identifier + number_literal) )))) = (binary_expression "(int)lVar16 + -1" (cast_expression "(int)lVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) })) (expression_statement "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;" (assignment_expression "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) = (binary_expression "*(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" * (cast_expression "(int *)(uStack_50 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_50 + 0xa4)" ( (binary_expression "uStack_50 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) })) })) })) (expression_statement "iVar8 = iVar7 + 4;" (assignment_expression "iVar8 = iVar7 + 4" identifier = (binary_expression "iVar7 + 4" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar9;" (assignment_expression "iVar7 = iVar9" identifier = identifier) ;) (if_statement "if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" if (parenthesized_expression "(iVar9 != iVar8)" ( (binary_expression "iVar9 != iVar8" identifier != identifier) )) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries")" identifier (argument_list "("../../gold/mips.cc",0x1739,"add_page_entries")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""add_page_entries"" " string_content ") ))) ;) })) })) (expression_statement "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);" (assignment_expression "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0)" (pointer_expression "*(undefined4 *)(param_1 + 0xc4)" * (cast_expression "(undefined4 *)(param_1 + 0xc4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc4)" ( (binary_expression "param_1 + 0xc4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" * (cast_expression "(undefined4 *)(param_1 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);" statement_identifier : (expression_statement "puVar5 = *(undefined8 **)(param_1 + 0x60);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x60)" * (cast_expression "(undefined8 **)(param_1 + 0x60)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;)) (do_statement "do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );" do (compound_statement "{\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      }" { (if_statement "if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" ( (binary_expression "puVar5 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "lVar11 = puVar5[1];" (assignment_expression "lVar11 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" if (parenthesized_expression "(((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0'))" ( (binary_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')" (parenthesized_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2))" ( (binary_expression "(*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" (parenthesized_expression "(*(int *)(lVar11 + 4) == -1)" ( (binary_expression "*(int *)(lVar11 + 4) == -1" (pointer_expression "*(int *)(lVar11 + 4)" * (cast_expression "(int *)(lVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 4)" ( (binary_expression "lVar11 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" ( (comma_expression "lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2" (assignment_expression "lVar13 = *(long *)(lVar11 + 8)" identifier = (pointer_expression "*(long *)(lVar11 + 8)" * (cast_expression "(long *)(lVar11 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 8)" ( (binary_expression "lVar11 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(lVar13 + 0x5c) == 2" (pointer_expression "*(int *)(lVar13 + 0x5c)" * (cast_expression "(int *)(lVar13 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x5c)" ( (binary_expression "lVar13 + 0x5c" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(char *)(lVar11 + 0x10) == '\0')" ( (binary_expression "*(char *)(lVar11 + 0x10) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x10)" * (cast_expression "(char *)(lVar11 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x10)" ( (binary_expression "lVar11 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" if (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" { (expression_statement "iVar7 = *(int *)(param_1 + 0x108) + 3;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x108) + 3" identifier = (binary_expression "*(int *)(param_1 + 0x108) + 3" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);" (assignment_expression "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7)" identifier = (call_expression "FUN_003e1c60(lVar2,lVar13,iVar7)" identifier (argument_list "(lVar2,lVar13,iVar7)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" { (expression_statement "piVar14 = (int *)(lVar13 + 0x28);" (assignment_expression "piVar14 = (int *)(lVar13 + 0x28)" identifier = (cast_expression "(int *)(lVar13 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x28)" ( (binary_expression "lVar13 + 0x28" identifier + number_literal) )))) ;) (while_statement "while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" while (parenthesized_expression "(iVar7 != *piVar14)" ( (binary_expression "iVar7 != *piVar14" identifier != (pointer_expression "*piVar14" * identifier)) )) (compound_statement "{\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" { (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" identifier = (pointer_expression "*(int **)(piVar14 + 2)" * (cast_expression "(int **)(piVar14 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 2)" ( (binary_expression "piVar14 + 2" identifier + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d875e;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002d875e;" goto statement_identifier ;)) })) (expression_statement "uVar1 = piVar14[1];" (assignment_expression "uVar1 = piVar14[1]" identifier = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" { (labeled_statement "LAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" (call_expression "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset")" identifier (argument_list "("../../gold/symtab.h",0x1b7,"got_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""got_offset"" " string_content ") ))) ;)) })) (if_statement "if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" if (parenthesized_expression "((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60)))" ( (binary_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))" (parenthesized_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff)" ( (binary_expression "*(uint *)(lVar13 + 0x60) == 0xffffffff" (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(uVar1 < *(uint *)(lVar13 + 0x60))" ( (binary_expression "uVar1 < *(uint *)(lVar13 + 0x60)" identifier < (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ))) )) (compound_statement "{\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" { (expression_statement "*(uint *)(lVar13 + 0x60) = uVar1;" (assignment_expression "*(uint *)(lVar13 + 0x60) = uVar1" (pointer_expression "*(uint *)(lVar13 + 0x60)" * (cast_expression "(uint *)(lVar13 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" if (parenthesized_expression "((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" ( (binary_expression "(*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" ( (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" * (cast_expression "(long *)(lVar2 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0xd0)" ( (binary_expression "lVar2 + 0xd0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" ( (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" * (cast_expression "(int *)(param_1 + 0x108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x108)" ( (binary_expression "param_1 + 0x108" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" { (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002d8898;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" if (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0'))" ( (binary_expression "(*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar11 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" * (cast_expression "(char *)(lVar11 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x2a61)" ( (binary_expression "lVar11 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) != '\0')" ( (binary_expression "*(char *)(lVar11 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" * (cast_expression "(char *)(lVar11 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x42d1)" ( (binary_expression "lVar11 + 0x42d1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" { (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" identifier = (call_expression "FUN_002af840(param_2 + 0x40,param_3)" identifier (argument_list "(param_2 + 0x40,param_3)" ( (binary_expression "param_2 + 0x40" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar10 = FUN_00228f60(lVar13,iVar7);" (assignment_expression "uVar10 = FUN_00228f60(lVar13,iVar7)" identifier = (call_expression "FUN_00228f60(lVar13,iVar7)" identifier (argument_list "(lVar13,iVar7)" ( identifier , identifier )))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);" (call_expression "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1)" identifier (argument_list "(&local_58,lVar13,3,lVar2,uVar10,0,1)" ( (pointer_expression "&local_58" & identifier) , identifier , number_literal , identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);" (call_expression "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19)" identifier (argument_list "(uVar12,lVar2,&local_58,uVar19)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) , identifier ))) ;) })) })) })) })) (expression_statement "puVar5 = (undefined8 *)*puVar5;" (assignment_expression "puVar5 = (undefined8 *)*puVar5" identifier = (cast_expression "(undefined8 *)*puVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 { (return_statement return ;) })) }) (else_clause else (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) ))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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) )))) == (char_literal ' escape_sequence ')) ))) )) (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 = LIT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT , IDENT , IDENT , LIT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , 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) ))))) ;) (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) ))) ;) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement 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) ))))) ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (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 ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , IDENT ))) ;) })) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })))
(function_definition "void FUN_002d8220(long param_1,long param_2,undefined8 param_3)\n\n{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" (primitive_type "void") (function_declarator "FUN_002d8220(long param_1,long param_2,undefined8 param_3)" (identifier "FUN_002d8220") (parameter_list "(long param_1,long param_2,undefined8 param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  uint uVar1;\n  long lVar2;\n  uint *puVar3;\n  long *plVar4;\n  undefined8 *puVar5;\n  char cVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  long lVar13;\n  int *piVar14;\n  undefined8 *puVar15;\n  long lVar16;\n  int iVar17;\n  long *plVar18;\n  undefined8 uVar19;\n  undefined8 local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  ulong uStack_50;\n  undefined8 local_48;\n  uint uStack_40;\n  int iStack_3c;\n  \n  lVar2 = *(long *)(param_2 + 0x20);\n  if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }\n  FUN_00290940();\nLAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "long *plVar4;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar4" (* "*") (identifier "plVar4")) (; ";")) (declaration "undefined8 *puVar5;" (type_identifier "undefined8") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "undefined8 *puVar15;" (type_identifier "undefined8") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "long lVar16;" (sized_type_specifier "long" (long "long")) (identifier "lVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "long *plVar18;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar18" (* "*") (identifier "plVar18")) (; ";")) (declaration "undefined8 uVar19;" (type_identifier "undefined8") (identifier "uVar19") (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "undefined4 uStack_54;" (type_identifier "undefined4") (identifier "uStack_54") (; ";")) (declaration "ulong uStack_50;" (type_identifier "ulong") (identifier "uStack_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "uint uStack_40;" (type_identifier "uint") (identifier "uStack_40") (; ";")) (declaration "int iStack_3c;" (primitive_type "int") (identifier "iStack_3c") (; ";")) (expression_statement "lVar2 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar2 = *(long *)(param_2 + 0x20)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(param_2 + 0x20)" (* "*") (cast_expression "(long *)(param_2 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar2 != 0) {\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uStack_50._0_4_ = 0x7ffffffe;\n    local_58 = 0;\n    FUN_003e1b00(lVar2);\n    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n    local_58 = 0x80000000;\n    FUN_003e1b00(lVar2);\n    plVar18 = *(long **)(param_1 + 0x60);\n    if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }\n    lVar11 = *(long *)(param_2 + 0x20);\n    if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "uStack_50._0_4_ = 0x7ffffffe;" (assignment_expression "uStack_50._0_4_ = 0x7ffffffe" (field_expression "uStack_50._0_4_" (identifier "uStack_50") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0x7ffffffe")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" (identifier "FUN_003e1b00") (argument_list "(lVar2)" (( "(") (identifier "lVar2") () ")"))) (; ";")) (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "uStack_50") (= "=") (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "CONCAT44") (argument_list "(uStack_50._4_4_,0x7ffffffe)" (( "(") (field_expression "uStack_50._4_4_" (identifier "uStack_50") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0x7ffffffe") () ")")))) (; ";")) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" (identifier "local_58") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "FUN_003e1b00(lVar2);" (call_expression "FUN_003e1b00(lVar2)" (identifier "FUN_003e1b00") (argument_list "(lVar2)" (( "(") (identifier "lVar2") () ")"))) (; ";")) (expression_statement "plVar18 = *(long **)(param_1 + 0x60);" (assignment_expression "plVar18 = *(long **)(param_1 + 0x60)" (identifier "plVar18") (= "=") (pointer_expression "*(long **)(param_1 + 0x60)" (* "*") (cast_expression "(long **)(param_1 + 0x60)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (plVar18 == (long *)0x0) {\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" (if "if") (parenthesized_expression "(plVar18 == (long *)0x0)" (( "(") (binary_expression "plVar18 == (long *)0x0" (identifier "plVar18") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 4) == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0" (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 "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" (else "else") (compound_statement "{\n      do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);\nLAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;\n    }" ({ "{") (do_statement "do {\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      } while (plVar18 != (long *)0x0);" (do "do") (compound_statement "{\n        while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }\n        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);\n        uVar1 = puVar3[1];\n        if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }\n        plVar4 = *(long **)(puVar3 + 2);\n        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }\n        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;\n        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar11 == 0) goto LAB_002d8898;\n        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;\n        if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }\n        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);\n        FUN_001a67c0(local_60,lVar2,&local_58);\n        plVar18 = (long *)*plVar18;\n      }" ({ "{") (while_statement "while( true ) {\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          puVar3 = (uint *)plVar18[1];\n          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;\nLAB_002d82c0:\n          plVar18 = (long *)*plVar18;\n          if (plVar18 == (long *)0x0) goto LAB_002d8430;\n        }" ({ "{") (expression_statement "puVar3 = (uint *)plVar18[1];" (assignment_expression "puVar3 = (uint *)plVar18[1]" (identifier "puVar3") (= "=") (cast_expression "(uint *)plVar18[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar18[1]" (identifier "plVar18") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;" (if "if") (parenthesized_expression "((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0'))" (( "(") (binary_expression "(puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')" (parenthesized_expression "(puVar3[1] != 0xffffffff)" (( "(") (binary_expression "puVar3[1] != 0xffffffff" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "((char)puVar3[4] == '\0')" (( "(") (binary_expression "(char)puVar3[4] == '\0'" (cast_expression "(char)puVar3[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_002d82c0:\n          plVar18 = (long *)*plVar18;" (statement_identifier "LAB_002d82c0") (: ":") (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" (identifier "plVar18") (= "=") (cast_expression "(long *)*plVar18" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar18" (* "*") (identifier "plVar18")))) (; ";"))) (if_statement "if (plVar18 == (long *)0x0) goto LAB_002d8430;" (if "if") (parenthesized_expression "(plVar18 == (long *)0x0)" (( "(") (binary_expression "plVar18 == (long *)0x0" (identifier "plVar18") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002d8430;" (goto "goto") (statement_identifier "LAB_002d8430") (; ";"))) (} "}"))) (expression_statement "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);" (call_expression "FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" (identifier "FUN_003e2140") (argument_list "(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3)" (( "(") (identifier "lVar2") (, ",") (pointer_expression "*(undefined8 *)(puVar3 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (, ",") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")"))) (; ";")) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0xffffffff) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" (if "if") (parenthesized_expression "(uVar1 == 0xffffffff)" (( "(") (binary_expression "uVar1 == 0xffffffff" (identifier "uVar1") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");\n        }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1f5,"object");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1f5,"object")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x1f5,"object")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1f5") (, ",") (string_literal ""object"" (" """) (string_content "object") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar4 = *(long **)(puVar3 + 2);" (assignment_expression "plVar4 = *(long **)(puVar3 + 2)" (identifier "plVar4") (= "=") (pointer_expression "*(long **)(puVar3 + 2)" (* "*") (cast_expression "(long **)(puVar3 + 2)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }\n        else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" (if "if") (parenthesized_expression "(*(code **)(*plVar4 + 0x160) == FUN_0022eac0)" (( "(") (binary_expression "*(code **)(*plVar4 + 0x160) == FUN_0022eac0" (pointer_expression "*(code **)(*plVar4 + 0x160)" (* "*") (cast_expression "(code **)(*plVar4 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x160)" (( "(") (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x160")) () ")")))) (== "==") (identifier "FUN_0022eac0")) () ")")) (compound_statement "{\n          local_58 = uVar1;\n          uStack_50 = (ulong)*puVar3;\n          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);\n          if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }\n          piVar14 = *(int **)(lVar11 + 0x18);\n          while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }\n          iVar7 = piVar14[1];\n          if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }\n        }" ({ "{") (expression_statement "local_58 = uVar1;" (assignment_expression "local_58 = uVar1" (identifier "local_58") (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uStack_50 = (ulong)*puVar3;" (assignment_expression "uStack_50 = (ulong)*puVar3" (identifier "uStack_50") (= "=") (binary_expression "(ulong)*puVar3" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);" (assignment_expression "lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58)" (identifier "lVar11") (= "=") (call_expression "FUN_0022e8e0(plVar4 + 0x15,&local_58)" (identifier "FUN_0022e8e0") (argument_list "(plVar4 + 0x15,&local_58)" (( "(") (binary_expression "plVar4 + 0x15" (identifier "plVar4") (+ "+") (number_literal "0x15")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (lVar11 == 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" (if "if") (parenthesized_expression "(lVar11 == 0)" (( "(") (binary_expression "lVar11 == 0" (identifier "lVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x83c,"do_local_got_offset")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x83c") (, ",") (string_literal ""do_local_got_offset"" (" """) (string_content "do_local_got_offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar14 = *(int **)(lVar11 + 0x18);" (assignment_expression "piVar14 = *(int **)(lVar11 + 0x18)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(lVar11 + 0x18)" (* "*") (cast_expression "(int **)(lVar11 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar11 + 0x18)" (( "(") (binary_expression "lVar11 + 0x18" (identifier "lVar11") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (while_statement "while( true ) {\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (piVar14 == (int *)0x0) goto LAB_002d8868;\n            if (*piVar14 == 0) break;\n            piVar14 = *(int **)(piVar14 + 2);\n          }" ({ "{") (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d8868;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002d8868;" (goto "goto") (statement_identifier "LAB_002d8868") (; ";"))) (if_statement "if (*piVar14 == 0) break;" (if "if") (parenthesized_expression "(*piVar14 == 0)" (( "(") (binary_expression "*piVar14 == 0" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(piVar14 + 2)" (* "*") (cast_expression "(int **)(piVar14 + 2)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar14 + 2)" (( "(") (binary_expression "piVar14 + 2" (identifier "piVar14") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = piVar14[1];" (assignment_expression "iVar7 = piVar14[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar14[1]" (identifier "piVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar7 == -1) {\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");\n          }" ({ "{") (labeled_statement "LAB_002d8868:\n                    \n            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" (statement_identifier "LAB_002d8868") (: ":") (expression_statement "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");" (call_expression "FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x83e,"do_local_got_offset")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x83e") (, ",") (string_literal ""do_local_got_offset"" (" """) (string_content "do_local_got_offset") (" """)) () ")"))) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" (else "else") (compound_statement "{\n          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);\n        }" ({ "{") (expression_statement "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);" (assignment_expression "iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0)" (parenthesized_expression "(**(code **)(*plVar4 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x160)" (* "*") (cast_expression "(code **)(*plVar4 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x160)" (( "(") (binary_expression "*plVar4 + 0x160" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar4,uVar1,0)" (( "(") (identifier "plVar4") (, ",") (identifier "uVar1") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (if_statement "if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;" (if "if") (parenthesized_expression "((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0))" (( "(") (binary_expression "(*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) == 0)" (( "(") (binary_expression "*(long *)(lVar2 + 0xd0) == 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" (* "*") (cast_expression "(long *)(lVar2 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd0)" (( "(") (binary_expression "lVar2 + 0xd0" (identifier "lVar2") (+ "+") (number_literal "0xd0")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0x108) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x108) == 0" (pointer_expression "*(int *)(param_1 + 0x108)" (* "*") (cast_expression "(int *)(param_1 + 0x108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x108)" (( "(") (binary_expression "param_1 + 0x108" (identifier "param_1") (+ "+") (number_literal "0x108")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_002d82c0;" (goto "goto") (statement_identifier "LAB_002d82c0") (; ";"))) (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" (if "if") (parenthesized_expression "(lVar11 == 0)" (( "(") (binary_expression "lVar11 == 0" (identifier "lVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002d8898;" (goto "goto") (statement_identifier "LAB_002d8898") (; ";"))) (if_statement "if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))\n        goto LAB_002d82c0;" (if "if") (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))" (( "(") (binary_expression "(*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) == '\0')" (( "(") (binary_expression "*(char *)(lVar11 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar11 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x2a61)" (( "(") (binary_expression "lVar11 + 0x2a61" (identifier "lVar11") (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) == '\0')" (( "(") (binary_expression "*(char *)(lVar11 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" (* "*") (cast_expression "(char *)(lVar11 + 0x42d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x42d1)" (( "(") (binary_expression "lVar11 + 0x42d1" (identifier "lVar11") (+ "+") (number_literal "0x42d1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_002d82c0;" (goto "goto") (statement_identifier "LAB_002d82c0") (; ";"))) (if_statement "if (*(char *)((long)puVar3 + 0x11) == '\0') {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }\n        else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" (if "if") (parenthesized_expression "(*(char *)((long)puVar3 + 0x11) == '\0')" (( "(") (binary_expression "*(char *)((long)puVar3 + 0x11) == '\0'" (pointer_expression "*(char *)((long)puVar3 + 0x11)" (* "*") (cast_expression "(char *)((long)puVar3 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar3 + 0x11)" (( "(") (binary_expression "(long)puVar3 + 0x11" (cast_expression "(long)puVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar3")) (+ "+") (number_literal "0x11")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 0;\n        }" ({ "{") (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" (identifier "local_60") (= "=") (call_expression "FUN_002af840(param_2 + 0x40,param_3)" (identifier "FUN_002af840") (argument_list "(param_2 + 0x40,param_3)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" (if "if") (parenthesized_expression "(uVar1 == 0xffffffff)" (( "(") (binary_expression "uVar1 == 0xffffffff" (identifier "uVar1") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");\n          }" ({ "{") (labeled_statement "LAB_002d88e0:\n                    \n            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" (statement_identifier "LAB_002d88e0") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x1fd,"symndx")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1fd") (, ",") (string_literal ""symndx"" (" """) (string_content "symndx") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined8 *)(puVar3 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" (else "else") (compound_statement "{\n          local_60 = FUN_002af840(param_2 + 0x40,param_3);\n          uVar1 = puVar3[1];\n          if (uVar1 == 0xffffffff) goto LAB_002d88e0;\n          uVar12 = *(undefined8 *)(puVar3 + 2);\n          uVar19 = 1;\n        }" ({ "{") (expression_statement "local_60 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "local_60 = FUN_002af840(param_2 + 0x40,param_3)" (identifier "local_60") (= "=") (call_expression "FUN_002af840(param_2 + 0x40,param_3)" (identifier "FUN_002af840") (argument_list "(param_2 + 0x40,param_3)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar1 = puVar3[1];" (assignment_expression "uVar1 = puVar3[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0xffffffff) goto LAB_002d88e0;" (if "if") (parenthesized_expression "(uVar1 == 0xffffffff)" (( "(") (binary_expression "uVar1 == 0xffffffff" (identifier "uVar1") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_002d88e0;" (goto "goto") (statement_identifier "LAB_002d88e0") (; ";"))) (expression_statement "uVar12 = *(undefined8 *)(puVar3 + 2);" (assignment_expression "uVar12 = *(undefined8 *)(puVar3 + 2)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined8 *)(puVar3 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" (identifier "uVar19") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);" (call_expression "FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" (identifier "FUN_003d7520") (argument_list "(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar12") (, ",") (identifier "uVar1") (, ",") (number_literal "3") (, ",") (identifier "lVar2") (, ",") (identifier "iVar7") (, ",") (number_literal "0") (, ",") (identifier "uVar19") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001a67c0(local_60,lVar2,&local_58);" (call_expression "FUN_001a67c0(local_60,lVar2,&local_58)" (identifier "FUN_001a67c0") (argument_list "(local_60,lVar2,&local_58)" (( "(") (identifier "local_60") (, ",") (identifier "lVar2") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "plVar18 = (long *)*plVar18;" (assignment_expression "plVar18 = (long *)*plVar18" (identifier "plVar18") (= "=") (cast_expression "(long *)*plVar18" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar18" (* "*") (identifier "plVar18")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar18 != (long *)0x0)" (( "(") (binary_expression "plVar18 != (long *)0x0" (identifier "plVar18") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_002d8430:\n      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" (statement_identifier "LAB_002d8430") (: ":") (if_statement "if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0" (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 "0")) () ")")) (goto_statement "goto LAB_002d86dc;" (goto "goto") (statement_identifier "LAB_002d86dc") (; ";")))) (} "}")))) (expression_statement "lVar11 = *(long *)(param_2 + 0x20);" (assignment_expression "lVar11 = *(long *)(param_2 + 0x20)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(param_2 + 0x20)" (* "*") (cast_expression "(long *)(param_2 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar11 != 0) {\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(lVar11 != 0)" (( "(") (binary_expression "lVar11 != 0" (identifier "lVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n      local_58 = 0;\n      iVar7 = FUN_003e1b00(lVar11);\n      lVar13 = *(long *)(lVar11 + 0xd0);\n      *(int *)(param_1 + 0xc0) = iVar7;\n      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }\n      iVar17 = *(int *)(param_1 + 4);\n      while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }\n      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);\nLAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);\n      do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );\n    }" ({ "{") (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "uStack_50") (= "=") (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "CONCAT44") (argument_list "(uStack_50._4_4_,0x7ffffffe)" (( "(") (field_expression "uStack_50._4_4_" (identifier "uStack_50") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0x7ffffffe") () ")")))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = FUN_003e1b00(lVar11);" (assignment_expression "iVar7 = FUN_003e1b00(lVar11)" (identifier "iVar7") (= "=") (call_expression "FUN_003e1b00(lVar11)" (identifier "FUN_003e1b00") (argument_list "(lVar11)" (( "(") (identifier "lVar11") () ")")))) (; ";")) (expression_statement "lVar13 = *(long *)(lVar11 + 0xd0);" (assignment_expression "lVar13 = *(long *)(lVar11 + 0xd0)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(lVar11 + 0xd0)" (* "*") (cast_expression "(long *)(lVar11 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0xd0)" (( "(") (binary_expression "lVar11 + 0xd0" (identifier "lVar11") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "*(int *)(param_1 + 0xc0) = iVar7;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar7" (pointer_expression "*(int *)(param_1 + 0xc0)" (* "*") (cast_expression "(int *)(param_1 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" (if "if") (parenthesized_expression "((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0))" (( "(") (binary_expression "(lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(lVar13 != 0)" (( "(") (binary_expression "lVar13 != 0" (identifier "lVar13") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" (* "*") (cast_expression "(int *)(param_1 + 0x108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x108)" (( "(") (binary_expression "param_1 + 0x108" (identifier "param_1") (+ "+") (number_literal "0x108")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n        if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }\n      }" ({ "{") (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar13 == 0) {\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n        }" ({ "{") (labeled_statement "LAB_002d8898:\n                    \n          FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_002d8898") (: ":") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" (if "if") (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" (( "(") (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" (( "(") (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar13 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x2a61)" (( "(") (binary_expression "lVar13 + 0x2a61" (identifier "lVar13") (+ "+") (number_literal "0x2a61")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" (( "(") (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" (* "*") (cast_expression "(char *)(lVar13 + 0x42d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x42d1)" (( "(") (binary_expression "lVar13 + 0x42d1" (identifier "lVar13") (+ "+") (number_literal "0x42d1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);\n          FUN_001a67c0(uVar12,lVar11,&local_58);\n          iVar7 = *(int *)(param_1 + 0xc0);\n        }" ({ "{") (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" (identifier "uVar12") (= "=") (call_expression "FUN_002af840(param_2 + 0x40,param_3)" (identifier "FUN_002af840") (argument_list "(param_2 + 0x40,param_3)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" (identifier "FUN_003d6ae0") (argument_list "(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (number_literal "3") (, ",") (identifier "lVar11") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001a67c0(uVar12,lVar11,&local_58);" (call_expression "FUN_001a67c0(uVar12,lVar11,&local_58)" (identifier "FUN_001a67c0") (argument_list "(uVar12,lVar11,&local_58)" (( "(") (identifier "uVar12") (, ",") (identifier "lVar11") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 0xc0);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xc0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0xc0)" (* "*") (cast_expression "(int *)(param_1 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar17 = *(int *)(param_1 + 4);" (assignment_expression "iVar17 = *(int *)(param_1 + 4)" (identifier "iVar17") (= "=") (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")) () ")"))))) (; ";")) (while_statement "while (iVar17 = iVar17 + -1, 0 < iVar17) {\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" (while "while") (parenthesized_expression "(iVar17 = iVar17 + -1, 0 < iVar17)" (( "(") (comma_expression "iVar17 = iVar17 + -1, 0 < iVar17" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "0 < iVar17" (number_literal "0") (< "<") (identifier "iVar17"))) () ")")) (compound_statement "{\n        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);\n        local_58 = 0;\n        iVar9 = FUN_003e1b00(lVar11);\n        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }\n        iVar8 = iVar7 + 4;\n        iVar7 = iVar9;\n        if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }\n      }" ({ "{") (expression_statement "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);" (assignment_expression "uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "uStack_50") (= "=") (call_expression "CONCAT44(uStack_50._4_4_,0x7ffffffe)" (identifier "CONCAT44") (argument_list "(uStack_50._4_4_,0x7ffffffe)" (( "(") (field_expression "uStack_50._4_4_" (identifier "uStack_50") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0x7ffffffe") () ")")))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = FUN_003e1b00(lVar11);" (assignment_expression "iVar9 = FUN_003e1b00(lVar11)" (identifier "iVar9") (= "=") (call_expression "FUN_003e1b00(lVar11)" (identifier "FUN_003e1b00") (argument_list "(lVar11)" (( "(") (identifier "lVar11") () ")")))) (; ";")) (if_statement "if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" (( "(") (binary_expression "(*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar11 + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(lVar11 + 0xd0) != 0" (pointer_expression "*(long *)(lVar11 + 0xd0)" (* "*") (cast_expression "(long *)(lVar11 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0xd0)" (( "(") (binary_expression "lVar11 + 0xd0" (identifier "lVar11") (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" (* "*") (cast_expression "(int *)(param_1 + 0x108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x108)" (( "(") (binary_expression "param_1 + 0x108" (identifier "param_1") (+ "+") (number_literal "0x108")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar13 == 0) goto LAB_002d8898;\n          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }\n        }" ({ "{") (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar13 == 0) goto LAB_002d8898;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002d8898;" (goto "goto") (statement_identifier "LAB_002d8898") (; ";"))) (if_statement "if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" (if "if") (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0'))" (( "(") (binary_expression "(*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) != '\0')" (( "(") (binary_expression "*(char *)(lVar13 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar13 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x2a61)" (( "(") (binary_expression "lVar13 + 0x2a61" (identifier "lVar13") (+ "+") (number_literal "0x2a61")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(lVar13 + 0x42d1) != '\0')" (( "(") (binary_expression "*(char *)(lVar13 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x42d1)" (* "*") (cast_expression "(char *)(lVar13 + 0x42d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x42d1)" (( "(") (binary_expression "lVar13 + 0x42d1" (identifier "lVar13") (+ "+") (number_literal "0x42d1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            lVar13 = FUN_002af840(param_2 + 0x40,param_3);\n            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);\n            puVar5 = *(undefined8 **)(lVar13 + 0x50);\n            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }\n            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;\n            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;\n            *(long *)(lVar13 + 0x10) = lVar16 * 8;\n            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;\n            if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }\n            if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }\n          }" ({ "{") (expression_statement "lVar13 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "lVar13 = FUN_002af840(param_2 + 0x40,param_3)" (identifier "lVar13") (= "=") (call_expression "FUN_002af840(param_2 + 0x40,param_3)" (identifier "FUN_002af840") (argument_list "(param_2 + 0x40,param_3)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);" (call_expression "FUN_003d6ae0(&local_58,3,lVar11,iVar9,0)" (identifier "FUN_003d6ae0") (argument_list "(&local_58,3,lVar11,iVar9,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (number_literal "3") (, ",") (identifier "lVar11") (, ",") (identifier "iVar9") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar5 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar5 = *(undefined8 **)(lVar13 + 0x50)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar13 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x50)" (( "(") (binary_expression "lVar13 + 0x50" (identifier "lVar13") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }\n            else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" (if "if") (parenthesized_expression "(puVar5 == *(undefined8 **)(lVar13 + 0x58))" (( "(") (binary_expression "puVar5 == *(undefined8 **)(lVar13 + 0x58)" (identifier "puVar5") (== "==") (pointer_expression "*(undefined8 **)(lVar13 + 0x58)" (* "*") (cast_expression "(undefined8 **)(lVar13 + 0x58)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x58)" (( "(") (binary_expression "lVar13 + 0x58" (identifier "lVar13") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (compound_statement "{\n              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);\n              puVar15 = *(undefined8 **)(lVar13 + 0x50);\n            }" ({ "{") (expression_statement "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);" (call_expression "FUN_001a6640(lVar13 + 0x48,puVar5,&local_58)" (identifier "FUN_001a6640") (argument_list "(lVar13 + 0x48,puVar5,&local_58)" (( "(") (binary_expression "lVar13 + 0x48" (identifier "lVar13") (+ "+") (number_literal "0x48")) (, ",") (identifier "puVar5") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "puVar15 = *(undefined8 **)(lVar13 + 0x50);" (assignment_expression "puVar15 = *(undefined8 **)(lVar13 + 0x50)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar13 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x50)" (( "(") (binary_expression "lVar13 + 0x50" (identifier "lVar13") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" (else "else") (compound_statement "{\n              puVar15 = puVar5 + 4;\n              *puVar5 = CONCAT44(uStack_54,local_58);\n              puVar5[1] = uStack_50;\n              puVar5[2] = local_48;\n              puVar5[3] = CONCAT44(iStack_3c,uStack_40);\n              *(undefined8 **)(lVar13 + 0x50) = puVar15;\n            }" ({ "{") (expression_statement "puVar15 = puVar5 + 4;" (assignment_expression "puVar15 = puVar5 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puVar5 = CONCAT44(uStack_54,local_58);" (assignment_expression "*puVar5 = CONCAT44(uStack_54,local_58)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "CONCAT44(uStack_54,local_58)" (identifier "CONCAT44") (argument_list "(uStack_54,local_58)" (( "(") (identifier "uStack_54") (, ",") (identifier "local_58") () ")")))) (; ";")) (expression_statement "puVar5[1] = uStack_50;" (assignment_expression "puVar5[1] = uStack_50" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_50")) (; ";")) (expression_statement "puVar5[2] = local_48;" (assignment_expression "puVar5[2] = local_48" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "puVar5[3] = CONCAT44(iStack_3c,uStack_40);" (assignment_expression "puVar5[3] = CONCAT44(iStack_3c,uStack_40)" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (call_expression "CONCAT44(iStack_3c,uStack_40)" (identifier "CONCAT44") (argument_list "(iStack_3c,uStack_40)" (( "(") (identifier "iStack_3c") (, ",") (identifier "uStack_40") () ")")))) (; ";")) (expression_statement "*(undefined8 **)(lVar13 + 0x50) = puVar15;" (assignment_expression "*(undefined8 **)(lVar13 + 0x50) = puVar15" (pointer_expression "*(undefined8 **)(lVar13 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar13 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x50)" (( "(") (binary_expression "lVar13 + 0x50" (identifier "lVar13") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (} "}")))) (expression_statement "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;" (assignment_expression "lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" (identifier "lVar16") (= "=") (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48) >> 5" (binary_expression "(long)puVar15 - *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (- "-") (pointer_expression "*(long *)(lVar13 + 0x48)" (* "*") (cast_expression "(long *)(lVar13 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x48)" (( "(") (binary_expression "lVar13 + 0x48" (identifier "lVar13") (+ "+") (number_literal "0x48")) () ")"))))) (>> ">>") (number_literal "5"))) (; ";")) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" (* "*") (cast_expression "(byte *)(lVar13 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x20)" (( "(") (binary_expression "lVar13 + 0x20" (identifier "lVar13") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002d88fd;" (goto "goto") (statement_identifier "LAB_002d88fd") (; ";"))) (expression_statement "*(long *)(lVar13 + 0x10) = lVar16 * 8;" (assignment_expression "*(long *)(lVar13 + 0x10) = lVar16 * 8" (pointer_expression "*(long *)(lVar13 + 0x10)" (* "*") (cast_expression "(long *)(lVar13 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "lVar16 * 8" (identifier "lVar16") (* "*") (number_literal "8"))) (; ";")) (expression_statement "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;" (assignment_expression "*(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" (* "*") (cast_expression "(byte *)(lVar11 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x20)" (( "(") (binary_expression "lVar11 + 0x20" (identifier "lVar11") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(byte *)(lVar11 + 0x20) | 0x10" (pointer_expression "*(byte *)(lVar11 + 0x20)" (* "*") (cast_expression "(byte *)(lVar11 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x20)" (( "(") (binary_expression "lVar11 + 0x20" (identifier "lVar11") (+ "+") (number_literal "0x20")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (if_statement "if ((uStack_40 & 0x10000000) != 0) {\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" (if "if") (parenthesized_expression "((uStack_40 & 0x10000000) != 0)" (( "(") (binary_expression "(uStack_40 & 0x10000000) != 0" (parenthesized_expression "(uStack_40 & 0x10000000)" (( "(") (binary_expression "uStack_40 & 0x10000000" (identifier "uStack_40") (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;\n            }" ({ "{") (expression_statement "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;" (assignment_expression "*(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" (* "*") (cast_expression "(long *)(lVar13 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(long *)(lVar13 + 0x38) + 1" (pointer_expression "*(long *)(lVar13 + 0x38)" (* "*") (cast_expression "(long *)(lVar13 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((iStack_3c != -4) && (uStack_50 != 0)) {\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" (if "if") (parenthesized_expression "((iStack_3c != -4) && (uStack_50 != 0))" (( "(") (binary_expression "(iStack_3c != -4) && (uStack_50 != 0)" (parenthesized_expression "(iStack_3c != -4)" (( "(") (binary_expression "iStack_3c != -4" (identifier "iStack_3c") (!= "!=") (number_literal "-4")) () ")")) (&& "&&") (parenthesized_expression "(uStack_50 != 0)" (( "(") (binary_expression "uStack_50 != 0" (identifier "uStack_50") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }\n              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;\n            }" ({ "{") (if_statement "if (*(int *)(uStack_50 + 0xa4) == 0) {\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" (if "if") (parenthesized_expression "(*(int *)(uStack_50 + 0xa4) == 0)" (( "(") (binary_expression "*(int *)(uStack_50 + 0xa4) == 0" (pointer_expression "*(int *)(uStack_50 + 0xa4)" (* "*") (cast_expression "(int *)(uStack_50 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_50 + 0xa4)" (( "(") (binary_expression "uStack_50 + 0xa4" (identifier "uStack_50") (+ "+") (number_literal "0xa4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;\n              }" ({ "{") (expression_statement "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;" (assignment_expression "*(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1" (pointer_expression "*(int *)(uStack_50 + 0xa0)" (* "*") (cast_expression "(int *)(uStack_50 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_50 + 0xa0)" (( "(") (binary_expression "uStack_50 + 0xa0" (identifier "uStack_50") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (binary_expression "(int)lVar16 + -1" (cast_expression "(int)lVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar16")) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;" (assignment_expression "*(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" (* "*") (cast_expression "(int *)(uStack_50 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_50 + 0xa4)" (( "(") (binary_expression "uStack_50 + 0xa4" (identifier "uStack_50") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (binary_expression "*(int *)(uStack_50 + 0xa4) + 1" (pointer_expression "*(int *)(uStack_50 + 0xa4)" (* "*") (cast_expression "(int *)(uStack_50 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_50 + 0xa4)" (( "(") (binary_expression "uStack_50 + 0xa4" (identifier "uStack_50") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar8 = iVar7 + 4;" (assignment_expression "iVar8 = iVar7 + 4" (identifier "iVar8") (= "=") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar7 = iVar9;" (assignment_expression "iVar7 = iVar9" (identifier "iVar7") (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (iVar9 != iVar8) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" (if "if") (parenthesized_expression "(iVar9 != iVar8)" (( "(") (binary_expression "iVar9 != iVar8" (identifier "iVar9") (!= "!=") (identifier "iVar8")) () ")")) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");\n        }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x1739,"add_page_entries")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1739") (, ",") (string_literal ""add_page_entries"" (" """) (string_content "add_page_entries") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);" (assignment_expression "*(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0)" (pointer_expression "*(undefined4 *)(param_1 + 0xc4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc4)" (( "(") (binary_expression "param_1 + 0xc4" (identifier "param_1") (+ "+") (number_literal "0xc4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (labeled_statement "LAB_002d86dc:\n      puVar5 = *(undefined8 **)(param_1 + 0x60);" (statement_identifier "LAB_002d86dc") (: ":") (expression_statement "puVar5 = *(undefined8 **)(param_1 + 0x60);" (assignment_expression "puVar5 = *(undefined8 **)(param_1 + 0x60)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x60)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x60)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";"))) (do_statement "do {\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      } while( true );" (do "do") (compound_statement "{\n        if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }\n        lVar11 = puVar5[1];\n        if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }\n        puVar5 = (undefined8 *)*puVar5;\n      }" ({ "{") (if_statement "if (puVar5 == (undefined8 *)0x0) {\n          return;\n        }" (if "if") (parenthesized_expression "(puVar5 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined8 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar11 = puVar5[1];" (assignment_expression "lVar11 = puVar5[1]" (identifier "lVar11") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')) {\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0'))" (( "(") (binary_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&\n           (*(char *)(lVar11 + 0x10) == '\0')" (parenthesized_expression "((*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2))" (( "(") (binary_expression "(*(int *)(lVar11 + 4) == -1) &&\n            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" (parenthesized_expression "(*(int *)(lVar11 + 4) == -1)" (( "(") (binary_expression "*(int *)(lVar11 + 4) == -1" (pointer_expression "*(int *)(lVar11 + 4)" (* "*") (cast_expression "(int *)(lVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 4)" (( "(") (binary_expression "lVar11 + 4" (identifier "lVar11") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)" (( "(") (comma_expression "lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2" (assignment_expression "lVar13 = *(long *)(lVar11 + 8)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(lVar11 + 8)" (* "*") (cast_expression "(long *)(lVar11 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 8)" (( "(") (binary_expression "lVar11 + 8" (identifier "lVar11") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "*(int *)(lVar13 + 0x5c) == 2" (pointer_expression "*(int *)(lVar13 + 0x5c)" (* "*") (cast_expression "(int *)(lVar13 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x5c)" (( "(") (binary_expression "lVar13 + 0x5c" (identifier "lVar13") (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(lVar11 + 0x10) == '\0')" (( "(") (binary_expression "*(char *)(lVar11 + 0x10) == '\0'" (pointer_expression "*(char *)(lVar11 + 0x10)" (* "*") (cast_expression "(char *)(lVar11 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x10)" (( "(") (binary_expression "lVar11 + 0x10" (identifier "lVar11") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          iVar7 = 0;\n          if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }\n          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);\n          if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(long *)(lVar2 + 0xd0) != 0) {\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" (if "if") (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" (* "*") (cast_expression "(long *)(lVar2 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd0)" (( "(") (binary_expression "lVar2 + 0xd0" (identifier "lVar2") (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar7 = *(int *)(param_1 + 0x108) + 3;\n          }" ({ "{") (expression_statement "iVar7 = *(int *)(param_1 + 0x108) + 3;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x108) + 3" (identifier "iVar7") (= "=") (binary_expression "*(int *)(param_1 + 0x108) + 3" (pointer_expression "*(int *)(param_1 + 0x108)" (* "*") (cast_expression "(int *)(param_1 + 0x108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x108)" (( "(") (binary_expression "param_1 + 0x108" (identifier "param_1") (+ "+") (number_literal "0x108")) () ")")))) (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (expression_statement "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);" (assignment_expression "cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7)" (identifier "cVar6") (= "=") (call_expression "FUN_003e1c60(lVar2,lVar13,iVar7)" (identifier "FUN_003e1c60") (argument_list "(lVar2,lVar13,iVar7)" (( "(") (identifier "lVar2") (, ",") (identifier "lVar13") (, ",") (identifier "iVar7") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') {\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piVar14 = (int *)(lVar13 + 0x28);\n            while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }\n            uVar1 = piVar14[1];\n            if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }\n            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }\n            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }\n          }" ({ "{") (expression_statement "piVar14 = (int *)(lVar13 + 0x28);" (assignment_expression "piVar14 = (int *)(lVar13 + 0x28)" (identifier "piVar14") (= "=") (cast_expression "(int *)(lVar13 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x28)" (( "(") (binary_expression "lVar13 + 0x28" (identifier "lVar13") (+ "+") (number_literal "0x28")) () ")")))) (; ";")) (while_statement "while (iVar7 != *piVar14) {\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" (while "while") (parenthesized_expression "(iVar7 != *piVar14)" (( "(") (binary_expression "iVar7 != *piVar14" (identifier "iVar7") (!= "!=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) () ")")) (compound_statement "{\n              piVar14 = *(int **)(piVar14 + 2);\n              if (piVar14 == (int *)0x0) goto LAB_002d875e;\n            }" ({ "{") (expression_statement "piVar14 = *(int **)(piVar14 + 2);" (assignment_expression "piVar14 = *(int **)(piVar14 + 2)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(piVar14 + 2)" (* "*") (cast_expression "(int **)(piVar14 + 2)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar14 + 2)" (( "(") (binary_expression "piVar14 + 2" (identifier "piVar14") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) goto LAB_002d875e;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002d875e;" (goto "goto") (statement_identifier "LAB_002d875e") (; ";"))) (} "}"))) (expression_statement "uVar1 = piVar14[1];" (assignment_expression "uVar1 = piVar14[1]" (identifier "uVar1") (= "=") (subscript_expression "piVar14[1]" (identifier "piVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0xffffffff) {\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" (if "if") (parenthesized_expression "(uVar1 == 0xffffffff)" (( "(") (binary_expression "uVar1 == 0xffffffff" (identifier "uVar1") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");\n            }" ({ "{") (labeled_statement "LAB_002d875e:\n                    \n              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" (statement_identifier "LAB_002d875e") (: ":") (expression_statement "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");" (call_expression "FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/symtab.h",0x1b7,"got_offset")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x1b7") (, ",") (string_literal ""got_offset"" (" """) (string_content "got_offset") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" (if "if") (parenthesized_expression "((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60)))" (( "(") (binary_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))" (parenthesized_expression "(*(uint *)(lVar13 + 0x60) == 0xffffffff)" (( "(") (binary_expression "*(uint *)(lVar13 + 0x60) == 0xffffffff" (pointer_expression "*(uint *)(lVar13 + 0x60)" (* "*") (cast_expression "(uint *)(lVar13 + 0x60)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x60)" (( "(") (binary_expression "lVar13 + 0x60" (identifier "lVar13") (+ "+") (number_literal "0x60")) () ")")))) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(uVar1 < *(uint *)(lVar13 + 0x60))" (( "(") (binary_expression "uVar1 < *(uint *)(lVar13 + 0x60)" (identifier "uVar1") (< "<") (pointer_expression "*(uint *)(lVar13 + 0x60)" (* "*") (cast_expression "(uint *)(lVar13 + 0x60)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x60)" (( "(") (binary_expression "lVar13 + 0x60" (identifier "lVar13") (+ "+") (number_literal "0x60")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n              *(uint *)(lVar13 + 0x60) = uVar1;\n            }" ({ "{") (expression_statement "*(uint *)(lVar13 + 0x60) = uVar1;" (assignment_expression "*(uint *)(lVar13 + 0x60) = uVar1" (pointer_expression "*(uint *)(lVar13 + 0x60)" (* "*") (cast_expression "(uint *)(lVar13 + 0x60)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x60)" (( "(") (binary_expression "lVar13 + 0x60" (identifier "lVar13") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (if_statement "if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" (if "if") (parenthesized_expression "((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0))" (( "(") (binary_expression "(*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)" (parenthesized_expression "(*(long *)(lVar2 + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(lVar2 + 0xd0) != 0" (pointer_expression "*(long *)(lVar2 + 0xd0)" (* "*") (cast_expression "(long *)(lVar2 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0xd0)" (( "(") (binary_expression "lVar2 + 0xd0" (identifier "lVar2") (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x108) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x108) != 0" (pointer_expression "*(int *)(param_1 + 0x108)" (* "*") (cast_expression "(int *)(param_1 + 0x108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x108)" (( "(") (binary_expression "param_1 + 0x108" (identifier "param_1") (+ "+") (number_literal "0x108")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar11 == 0) goto LAB_002d8898;\n              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }\n            }" ({ "{") (expression_statement "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar11 == 0) goto LAB_002d8898;" (if "if") (parenthesized_expression "(lVar11 == 0)" (( "(") (binary_expression "lVar11 == 0" (identifier "lVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002d8898;" (goto "goto") (statement_identifier "LAB_002d8898") (; ";"))) (if_statement "if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" (if "if") (parenthesized_expression "((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0'))" (( "(") (binary_expression "(*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')" (parenthesized_expression "(*(char *)(lVar11 + 0x2a61) != '\0')" (( "(") (binary_expression "*(char *)(lVar11 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar11 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x2a61)" (( "(") (binary_expression "lVar11 + 0x2a61" (identifier "lVar11") (+ "+") (number_literal "0x2a61")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(lVar11 + 0x42d1) != '\0')" (( "(") (binary_expression "*(char *)(lVar11 + 0x42d1) != '\0'" (pointer_expression "*(char *)(lVar11 + 0x42d1)" (* "*") (cast_expression "(char *)(lVar11 + 0x42d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x42d1)" (( "(") (binary_expression "lVar11 + 0x42d1" (identifier "lVar11") (+ "+") (number_literal "0x42d1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                uVar12 = FUN_002af840(param_2 + 0x40,param_3);\n                uVar10 = FUN_00228f60(lVar13,iVar7);\n                uVar19 = 0;\n                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);\n                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);\n              }" ({ "{") (expression_statement "uVar12 = FUN_002af840(param_2 + 0x40,param_3);" (assignment_expression "uVar12 = FUN_002af840(param_2 + 0x40,param_3)" (identifier "uVar12") (= "=") (call_expression "FUN_002af840(param_2 + 0x40,param_3)" (identifier "FUN_002af840") (argument_list "(param_2 + 0x40,param_3)" (( "(") (binary_expression "param_2 + 0x40" (identifier "param_2") (+ "+") (number_literal "0x40")) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar10 = FUN_00228f60(lVar13,iVar7);" (assignment_expression "uVar10 = FUN_00228f60(lVar13,iVar7)" (identifier "uVar10") (= "=") (call_expression "FUN_00228f60(lVar13,iVar7)" (identifier "FUN_00228f60") (argument_list "(lVar13,iVar7)" (( "(") (identifier "lVar13") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);" (call_expression "FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1)" (identifier "FUN_003d73a0") (argument_list "(&local_58,lVar13,3,lVar2,uVar10,0,1)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "lVar13") (, ",") (number_literal "3") (, ",") (identifier "lVar2") (, ",") (identifier "uVar10") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);" (call_expression "FUN_001a67c0(uVar12,lVar2,&local_58,uVar19)" (identifier "FUN_001a67c0") (argument_list "(uVar12,lVar2,&local_58,uVar19)" (( "(") (identifier "uVar12") (, ",") (identifier "lVar2") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar19") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "puVar5 = (undefined8 *)*puVar5;" (assignment_expression "puVar5 = (undefined8 *)*puVar5" (identifier "puVar5") (= "=") (cast_expression "(undefined8 *)*puVar5" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002d88fd:\n                    \n  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (statement_identifier "LAB_002d88fd") (: ":") (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x231") (, ",") (string_literal ""set_current_data_size_for_child"" (" """) (string_content "set_current_data_size_for_child") (" """)) () ")"))) (; ";"))) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void add_local_entries(Mips_got_info<32,_false> * this,
   Target_mips<32,_false> * target, Layout * layout) */

void __thiscall
anon_unknown.dwarf_ead2ad::Mips_got_info<32,_false>::add_local_entries
          (Mips_got_info<32,_false> *this,Target_mips<32,_false> *target,Layout *layout)

{
  uint uVar1;
  size_t *psVar2;
  Mips_got_info<32,_false> *this_00;
  _Hash_node_base *p_Var3;
  _func_int_varargs *p_Var4;
  int *piVar5;
  General_options *pGVar6;
  Mips_output_data_got<32,_false> *this_01;
  iterator __position;
  Symbol *gsym;
  Mips_got_info<32,_false> *pMVar7;
  Got_entry got_entry;
  Got_entry got_entry_00;
  Got_entry got_entry_01;
  Got_entry got_entry_02;
  anon_union_8_4_c82d8563_for_u1_ aVar8;
  undefined1 *puVar9;
  bool bVar10;
  uint uVar11;
  uint address;
  Address address_00;
  const_iterator cVar12;
  Output_data_reloc_base<9,_true,_32,_false> *pOVar13;
  Reloc_section *pRVar14;
  Got_offset_list *pGVar15;
  Sized_relobj<32,_false> *relobj;
  Output_reloc<9,_true,_32,_false> *pOVar16;
  long lVar17;
  uint uVar18;
  _Hash_node_base *p_Var19;
  undefined1 uVar20;
  undefined7 uVar21;
  Mips_got_info<32,_false> *local_60;
  Local_got_entry_key key;
  Address local_48;
  uint uStack_44;
  uint uStack_40;
  uint uStack_3c;
  
  this_00 = (Mips_got_info<32,_false> *)target->got_;
  local_60 = this;
  if (this_00 != (Mips_got_info<32,_false> *)0x0) {
    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
    key.symndx_ = 0;
    uVar20 = (undefined1)_local_48;
    uVar21 = SUB87(_local_48,1);
    got_entry._8_1_ = 0xfe;
    got_entry.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
    got_entry._9_7_ = (int7)(key.addend_ >> 8);
    got_entry.addend_._0_1_ = uVar20;
    got_entry.addend_._1_7_ = uVar21;
    gold::Output_data_got<32,_false>::add_got_entry((Output_data_got<32,_false> *)this_00,got_entry)
    ;
    key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
    key.symndx_ = 0x80000000;
    got_entry_00.u_._4_4_ = key._4_4_;
    got_entry_00.u_.constant = 0x80000000;
    got_entry_00._8_1_ = 0xfe;
    got_entry_00._9_7_ = (int7)(key.addend_ >> 8);
    got_entry_00.addend_._0_1_ = uVar20;
    got_entry_00.addend_._1_7_ = uVar21;
    local_60 = this_00;
    gold::Output_data_got<32,_false>::add_got_entry
              ((Output_data_got<32,_false> *)this_00,got_entry_00);
    p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;
    if (p_Var19 == (_Hash_node_base *)0x0) {
      if (this->page_gotno_ == 0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          p_Var3 = p_Var19[1]._M_nxt;
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if ((uVar11 != 0xffffffff) && (*(char *)&p_Var3[2]._M_nxt == '\0')) break;
LAB_002d82c0:
          p_Var19 = p_Var19->_M_nxt;
          if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_002d8430;
        }
        gold::Output_data_got<32,_false>::add_local
                  ((Output_data_got<32,_false> *)this_00,(Relobj *)p_Var3[1]._M_nxt,uVar11,0,
                   (ulong)*(uint *)&p_Var3->_M_nxt);
        uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
        if (uVar11 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x1f5,"object");
        }
        local_60 = (Mips_got_info<32,_false> *)p_Var3[1]._M_nxt;
        p_Var4 = (((Output_data_got<32,_false> *)&local_60->local_gotno_)->
                 super_Output_data_got_base).super_Output_section_data_build.
                 super_Output_section_data.super_Output_data._vptr_Output_data[0x2c];
        if (p_Var4 == gold::Sized_relobj<32,_false>::do_local_got_offset) {
          local_60 = (Mips_got_info<32,_false> *)
                     &(local_60->got_page_entries_)._M_h._M_rehash_policy;
          key.symndx_ = uVar11;
          key.addend_ = (ulong)*(uint *)&p_Var3->_M_nxt;
          cVar12 = std::
                   _Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   ::find((_Hashtable<gold::Local_got_entry_key,_std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_std::allocator<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>_>,_std::__detail::_Select1st,_gold::Local_got_entry_key::equal_to,_gold::Local_got_entry_key::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                           *)local_60,(key_type *)&key);
          if (cVar12.
              super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>
              ._M_cur == (__node_type *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x83c,"do_local_got_offset");
          }
          piVar5 = *(int **)((long)cVar12.
                                   super__Node_iterator_base<std::pair<const_gold::Local_got_entry_key,_gold::Got_offset_list*>,_true>
                                   ._M_cur + 0x18);
          while( true ) {
            if (piVar5 == (int *)0x0) goto LAB_002d8868;
            if (*piVar5 == 0) break;
            piVar5 = *(int **)(piVar5 + 2);
          }
          address_00 = piVar5[1];
          if (address_00 == 0xffffffff) {
LAB_002d8868:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x83e,"do_local_got_offset");
          }
        }
        else {
          address_00 = (*p_Var4)(local_60,(ulong)uVar11,0);
        }
        if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count ==
             (Mips_got_info<32,_false> *)0x0) || (this->index_ == 0)) goto LAB_002d82c0;
        pGVar6 = gold::parameters->options_;
        if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
        if (((pGVar6->shared_).value == false) && ((pGVar6->pie_).value == false))
        goto LAB_002d82c0;
        if (*(char *)((long)&p_Var3[2]._M_nxt + 1) == '\0') {
          local_60 = (Mips_got_info<32,_false> *)
                     Target_mips<32,_false>::rel_dyn_section
                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if (uVar11 == 0xffffffff) {
LAB_002d88e0:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x1fd,"symndx");
          }
          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;
          bVar10 = false;
        }
        else {
          local_60 = (Mips_got_info<32,_false> *)
                     Target_mips<32,_false>::rel_dyn_section
                               ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          uVar11 = *(uint *)((long)&p_Var3->_M_nxt + 4);
          if (uVar11 == 0xffffffff) goto LAB_002d88e0;
          relobj = (Sized_relobj<32,_false> *)p_Var3[1]._M_nxt;
          bVar10 = true;
        }
        gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                  ((Output_reloc<9,_true,_32,_false> *)&key,relobj,uVar11,3,(Output_data *)this_00,
                   address_00,false,bVar10,false,false);
        gold::Output_data_reloc_base<9,_true,_32,_false>::add
                  ((Output_data_reloc_base<9,_true,_32,_false> *)local_60,(Output_data *)this_00,
                   (Output_reloc<9,_true,_32,_false> *)&key);
        p_Var19 = p_Var19->_M_nxt;
      } while (p_Var19 != (_Hash_node_base *)0x0);
LAB_002d8430:
      if (this->page_gotno_ == 0) goto LAB_002d86dc;
    }
    this_01 = target->got_;
    if (this_01 != (Mips_output_data_got<32,_false> *)0x0) {
      key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
      key.symndx_ = 0;
      got_entry_01._8_1_ = 0xfe;
      got_entry_01.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
      got_entry_01._9_7_ = (int7)(key.addend_ >> 8);
      got_entry_01.addend_._0_1_ = uVar20;
      got_entry_01.addend_._1_7_ = uVar21;
      uVar11 = gold::Output_data_got<32,_false>::add_got_entry
                         (&this_01->super_Output_data_got<32,_false>,got_entry_01);
      pMVar7 = this_01->primary_got_;
      this->got_page_offset_start_ = uVar11;
      if ((pMVar7 != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
        pGVar6 = gold::parameters->options_;
        if (pGVar6 == (General_options *)0x0) {
LAB_002d8898:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
          pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)
                    Target_mips<32,_false>::rel_dyn_section
                              ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
          gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                    ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,
                     this->got_page_offset_start_,false);
          gold::Output_data_reloc_base<9,_true,_32,_false>::add
                    (pOVar13,(Output_data *)this_01,(Output_reloc<9,_true,_32,_false> *)&key);
          uVar11 = this->got_page_offset_start_;
        }
      }
      uVar18 = this->page_gotno_;
      while (uVar18 = uVar18 - 1, 0 < (int)uVar18) {
        key.addend_ = CONCAT44(key.addend_._4_4_,0x7ffffffe);
        key.symndx_ = 0;
        got_entry_02._8_1_ = 0xfe;
        got_entry_02.u_.object = (Relobj *)((ulong)(uint)key._4_4_ << 0x20);
        got_entry_02._9_7_ = (int7)(key.addend_ >> 8);
        got_entry_02.addend_._0_1_ = uVar20;
        got_entry_02.addend_._1_7_ = uVar21;
        address = gold::Output_data_got<32,_false>::add_got_entry
                            (&this_01->super_Output_data_got<32,_false>,got_entry_02);
        if ((this_01->primary_got_ != (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
          pGVar6 = gold::parameters->options_;
          if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
          if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
            pRVar14 = Target_mips<32,_false>::rel_dyn_section
                                ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
            gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                      ((Output_reloc<9,_true,_32,_false> *)&key,3,(Output_data *)this_01,address,
                       false);
            __position._M_current =
                 (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                 super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                 super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                 ._M_impl._M_finish;
            if (__position._M_current ==
                (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                ._M_impl._M_end_of_storage) {
              std::
              vector<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_32,_false>&>
                        (&(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                          super_Output_data_reloc_base<9,_true,_32,_false>.relocs_,__position,
                         (Output_reloc<9,_true,_32,_false> *)&key);
              pOVar16 = (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                        super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                        super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                        ._M_impl._M_finish;
            }
            else {
              aVar8._4_4_ = key._4_4_;
              aVar8._0_4_ = key.symndx_;
              pOVar16 = __position._M_current + 1;
              (__position._M_current)->u1_ = aVar8;
              (__position._M_current)->u2_ = (anon_union_8_2_238bdeaa_for_u2_)key.addend_;
              (__position._M_current)->address_ = local_48;
              (__position._M_current)->local_sym_index_ = uStack_44;
              *(ulong *)&(__position._M_current)->field_0x18 = CONCAT44(uStack_3c,uStack_40);
              (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
              super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
              super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
              ._M_impl._M_finish = pOVar16;
            }
            lVar17 = (long)pOVar16 -
                     (long)(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                           super_Output_data_reloc_base<9,_true,_32,_false>.relocs_.
                           super__Vector_base<gold::Output_reloc<9,_true,_32,_false>,_std::allocator<gold::Output_reloc<9,_true,_32,_false>_>_>
                           ._M_impl._M_start >> 5;
            if (((pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                 super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.
                 super_Output_section_data_build.super_Output_section_data.super_Output_data.
                 field_0x20 & 2) != 0) goto LAB_002d88fd;
            (pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
            super_Output_data_reloc_base<9,_true,_32,_false>.super_Output_data_reloc_generic.
            super_Output_section_data_build.super_Output_section_data.super_Output_data.data_size_ =
                 lVar17 * 8;
            puVar9 = &(this_01->super_Output_data_got<32,_false>).super_Output_data_got_base.
                      super_Output_section_data_build.super_Output_section_data.super_Output_data.
                      field_0x20;
            *puVar9 = *puVar9 | 0x10;
            if ((uStack_40 & 0x10000000) != 0) {
              psVar2 = &(pRVar14->super_Output_data_reloc<9,_true,_32,_false>).
                        super_Output_data_reloc_base<9,_true,_32,_false>.
                        super_Output_data_reloc_generic.relative_reloc_count_;
              *psVar2 = *psVar2 + 1;
            }
            if ((uStack_3c != 0xfffffffc) && (key.addend_ != 0)) {
              if (*(int *)(key.addend_ + 0xa4) == 0) {
                *(int *)(key.addend_ + 0xa0) = (int)lVar17 + -1;
              }
              *(int *)(key.addend_ + 0xa4) = *(int *)(key.addend_ + 0xa4) + 1;
            }
          }
        }
        uVar1 = uVar11 + 4;
        uVar11 = address;
        if (address != uVar1) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x1739,"add_page_entries");
        }
      }
      this->got_page_offset_next_ = this->got_page_offset_start_;
LAB_002d86dc:
      p_Var19 = (this->got_entries_)._M_h._M_before_begin._M_nxt;
      do {
        if (p_Var19 == (_Hash_node_base *)0x0) {
          return;
        }
        p_Var3 = p_Var19[1]._M_nxt;
        if (((*(int *)((long)&p_Var3->_M_nxt + 4) == -1) &&
            (gsym = (Symbol *)p_Var3[1]._M_nxt, gsym[1].symtab_index_ == 2)) &&
           (*(char *)&p_Var3[2]._M_nxt == '\0')) {
          uVar11 = 0;
          if ((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=
              (Mips_got_info<32,_false> *)0x0) {
            uVar11 = this->index_ + 3;
          }
          bVar10 = gold::Output_data_got<32,_false>::add_global
                             ((Output_data_got<32,_false> *)this_00,gsym,uVar11);
          if (bVar10) {
            pGVar15 = &gsym->got_offsets_;
            while (uVar11 != pGVar15->got_type_) {
              pGVar15 = pGVar15->got_next_;
              if (pGVar15 == (Got_offset_list *)0x0) goto LAB_002d875e;
            }
            uVar18 = pGVar15->got_offset_;
            if (uVar18 == 0xffffffff) {
LAB_002d875e:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/symtab.h",0x1b7,"got_offset");
            }
            if ((gsym[1].dynsym_index_ == 0xffffffff) || (uVar18 < gsym[1].dynsym_index_)) {
              gsym[1].dynsym_index_ = uVar18;
            }
            if (((Mips_got_info<32,_false> *)(this_00->got_page_offsets_)._M_h._M_bucket_count !=
                 (Mips_got_info<32,_false> *)0x0) && (this->index_ != 0)) {
              pGVar6 = gold::parameters->options_;
              if (pGVar6 == (General_options *)0x0) goto LAB_002d8898;
              if (((pGVar6->shared_).value != false) || ((pGVar6->pie_).value != false)) {
                pOVar13 = (Output_data_reloc_base<9,_true,_32,_false> *)
                          Target_mips<32,_false>::rel_dyn_section
                                    ((Target_mips<32,_false> *)&target->rel_dyn_,layout);
                uVar11 = gold::Symbol::got_offset(gsym,uVar11);
                gold::Output_reloc<9,_true,_32,_false>::Output_reloc
                          ((Output_reloc<9,_true,_32,_false> *)&key,gsym,3,(Output_data *)this_00,
                           uVar11,false,true,false);
                gold::Output_data_reloc_base<9,_true,_32,_false>::add
                          (pOVar13,(Output_data *)this_00,(Output_reloc<9,_true,_32,_false> *)&key);
              }
            }
          }
        }
        p_Var19 = p_Var19->_M_nxt;
      } while( true );
    }
  }
  Target_mips<32,_false>::got_section((Target_mips<32,_false> *)local_60);
LAB_002d88fd:
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
}


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

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

{
  uint uVar1;
  long lVar2;
  uint *puVar3;
  long *plVar4;
  undefined8 *puVar5;
  char cVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 uVar10;
  long lVar11;
  undefined8 uVar12;
  long lVar13;
  int *piVar14;
  undefined8 *puVar15;
  long lVar16;
  int iVar17;
  long *plVar18;
  undefined8 uVar19;
  undefined8 local_60;
  uint local_58;
  undefined4 uStack_54;
  ulong uStack_50;
  undefined8 local_48;
  uint uStack_40;
  int iStack_3c;
  
  lVar2 = *(long *)(param_2 + 0x20);
  if (lVar2 != 0) {
    uStack_50._0_4_ = 0x7ffffffe;
    local_58 = 0;
    FUN_003e1b00(lVar2);
    uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
    local_58 = 0x80000000;
    FUN_003e1b00(lVar2);
    plVar18 = *(long **)(param_1 + 0x60);
    if (plVar18 == (long *)0x0) {
      if (*(int *)(param_1 + 4) == 0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          puVar3 = (uint *)plVar18[1];
          if ((puVar3[1] != 0xffffffff) && ((char)puVar3[4] == '\0')) break;
LAB_002d82c0:
          plVar18 = (long *)*plVar18;
          if (plVar18 == (long *)0x0) goto LAB_002d8430;
        }
        FUN_003e2140(lVar2,*(undefined8 *)(puVar3 + 2),puVar3[1],0,*puVar3);
        uVar1 = puVar3[1];
        if (uVar1 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x1f5,"object");
        }
        plVar4 = *(long **)(puVar3 + 2);
        if (*(code **)(*plVar4 + 0x160) == FUN_0022eac0) {
          local_58 = uVar1;
          uStack_50 = (ulong)*puVar3;
          lVar11 = FUN_0022e8e0(plVar4 + 0x15,&local_58);
          if (lVar11 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x83c,"do_local_got_offset");
          }
          piVar14 = *(int **)(lVar11 + 0x18);
          while( true ) {
            if (piVar14 == (int *)0x0) goto LAB_002d8868;
            if (*piVar14 == 0) break;
            piVar14 = *(int **)(piVar14 + 2);
          }
          iVar7 = piVar14[1];
          if (iVar7 == -1) {
LAB_002d8868:
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x83e,"do_local_got_offset");
          }
        }
        else {
          iVar7 = (**(code **)(*plVar4 + 0x160))(plVar4,uVar1,0);
        }
        if ((*(long *)(lVar2 + 0xd0) == 0) || (*(int *)(param_1 + 0x108) == 0)) goto LAB_002d82c0;
        lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar11 == 0) goto LAB_002d8898;
        if ((*(char *)(lVar11 + 0x2a61) == '\0') && (*(char *)(lVar11 + 0x42d1) == '\0'))
        goto LAB_002d82c0;
        if (*(char *)((long)puVar3 + 0x11) == '\0') {
          local_60 = FUN_002af840(param_2 + 0x40,param_3);
          uVar1 = puVar3[1];
          if (uVar1 == 0xffffffff) {
LAB_002d88e0:
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/mips.cc",0x1fd,"symndx");
          }
          uVar12 = *(undefined8 *)(puVar3 + 2);
          uVar19 = 0;
        }
        else {
          local_60 = FUN_002af840(param_2 + 0x40,param_3);
          uVar1 = puVar3[1];
          if (uVar1 == 0xffffffff) goto LAB_002d88e0;
          uVar12 = *(undefined8 *)(puVar3 + 2);
          uVar19 = 1;
        }
        FUN_003d7520(&local_58,uVar12,uVar1,3,lVar2,iVar7,0,uVar19,0,0);
        FUN_001a67c0(local_60,lVar2,&local_58);
        plVar18 = (long *)*plVar18;
      } while (plVar18 != (long *)0x0);
LAB_002d8430:
      if (*(int *)(param_1 + 4) == 0) goto LAB_002d86dc;
    }
    lVar11 = *(long *)(param_2 + 0x20);
    if (lVar11 != 0) {
      uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
      local_58 = 0;
      iVar7 = FUN_003e1b00(lVar11);
      lVar13 = *(long *)(lVar11 + 0xd0);
      *(int *)(param_1 + 0xc0) = iVar7;
      if ((lVar13 != 0) && (*(int *)(param_1 + 0x108) != 0)) {
        lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
        if (lVar13 == 0) {
LAB_002d8898:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/parameters.h",0x5c,"options");
        }
        if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {
          uVar12 = FUN_002af840(param_2 + 0x40,param_3);
          FUN_003d6ae0(&local_58,3,lVar11,*(undefined4 *)(param_1 + 0xc0),0);
          FUN_001a67c0(uVar12,lVar11,&local_58);
          iVar7 = *(int *)(param_1 + 0xc0);
        }
      }
      iVar17 = *(int *)(param_1 + 4);
      while (iVar17 = iVar17 + -1, 0 < iVar17) {
        uStack_50 = CONCAT44(uStack_50._4_4_,0x7ffffffe);
        local_58 = 0;
        iVar9 = FUN_003e1b00(lVar11);
        if ((*(long *)(lVar11 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {
          lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
          if (lVar13 == 0) goto LAB_002d8898;
          if ((*(char *)(lVar13 + 0x2a61) != '\0') || (*(char *)(lVar13 + 0x42d1) != '\0')) {
            lVar13 = FUN_002af840(param_2 + 0x40,param_3);
            FUN_003d6ae0(&local_58,3,lVar11,iVar9,0);
            puVar5 = *(undefined8 **)(lVar13 + 0x50);
            if (puVar5 == *(undefined8 **)(lVar13 + 0x58)) {
              FUN_001a6640(lVar13 + 0x48,puVar5,&local_58);
              puVar15 = *(undefined8 **)(lVar13 + 0x50);
            }
            else {
              puVar15 = puVar5 + 4;
              *puVar5 = CONCAT44(uStack_54,local_58);
              puVar5[1] = uStack_50;
              puVar5[2] = local_48;
              puVar5[3] = CONCAT44(iStack_3c,uStack_40);
              *(undefined8 **)(lVar13 + 0x50) = puVar15;
            }
            lVar16 = (long)puVar15 - *(long *)(lVar13 + 0x48) >> 5;
            if ((*(byte *)(lVar13 + 0x20) & 2) != 0) goto LAB_002d88fd;
            *(long *)(lVar13 + 0x10) = lVar16 * 8;
            *(byte *)(lVar11 + 0x20) = *(byte *)(lVar11 + 0x20) | 0x10;
            if ((uStack_40 & 0x10000000) != 0) {
              *(long *)(lVar13 + 0x38) = *(long *)(lVar13 + 0x38) + 1;
            }
            if ((iStack_3c != -4) && (uStack_50 != 0)) {
              if (*(int *)(uStack_50 + 0xa4) == 0) {
                *(int *)(uStack_50 + 0xa0) = (int)lVar16 + -1;
              }
              *(int *)(uStack_50 + 0xa4) = *(int *)(uStack_50 + 0xa4) + 1;
            }
          }
        }
        iVar8 = iVar7 + 4;
        iVar7 = iVar9;
        if (iVar9 != iVar8) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x1739,"add_page_entries");
        }
      }
      *(undefined4 *)(param_1 + 0xc4) = *(undefined4 *)(param_1 + 0xc0);
LAB_002d86dc:
      puVar5 = *(undefined8 **)(param_1 + 0x60);
      do {
        if (puVar5 == (undefined8 *)0x0) {
          return;
        }
        lVar11 = puVar5[1];
        if (((*(int *)(lVar11 + 4) == -1) &&
            (lVar13 = *(long *)(lVar11 + 8), *(int *)(lVar13 + 0x5c) == 2)) &&
           (*(char *)(lVar11 + 0x10) == '\0')) {
          iVar7 = 0;
          if (*(long *)(lVar2 + 0xd0) != 0) {
            iVar7 = *(int *)(param_1 + 0x108) + 3;
          }
          cVar6 = FUN_003e1c60(lVar2,lVar13,iVar7);
          if (cVar6 != '\0') {
            piVar14 = (int *)(lVar13 + 0x28);
            while (iVar7 != *piVar14) {
              piVar14 = *(int **)(piVar14 + 2);
              if (piVar14 == (int *)0x0) goto LAB_002d875e;
            }
            uVar1 = piVar14[1];
            if (uVar1 == 0xffffffff) {
LAB_002d875e:
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/symtab.h",0x1b7,"got_offset");
            }
            if ((*(uint *)(lVar13 + 0x60) == 0xffffffff) || (uVar1 < *(uint *)(lVar13 + 0x60))) {
              *(uint *)(lVar13 + 0x60) = uVar1;
            }
            if ((*(long *)(lVar2 + 0xd0) != 0) && (*(int *)(param_1 + 0x108) != 0)) {
              lVar11 = *(long *)(PTR_DAT_0067cb08 + 0x10);
              if (lVar11 == 0) goto LAB_002d8898;
              if ((*(char *)(lVar11 + 0x2a61) != '\0') || (*(char *)(lVar11 + 0x42d1) != '\0')) {
                uVar12 = FUN_002af840(param_2 + 0x40,param_3);
                uVar10 = FUN_00228f60(lVar13,iVar7);
                uVar19 = 0;
                FUN_003d73a0(&local_58,lVar13,3,lVar2,uVar10,0,1);
                FUN_001a67c0(uVar12,lVar2,&local_58,uVar19);
              }
            }
          }
        }
        puVar5 = (undefined8 *)*puVar5;
      } while( true );
    }
  }
  FUN_00290940();
LAB_002d88fd:
                    /* WARNING: Subroutine does not return */
  FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
}

