
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_count_local_symbols(Sized_relobj_file<32,_false> * this,
   Stringpool * pool, Stringpool * dynpool) */

void __thiscall
gold::Sized_relobj_file<32,_false>::do_count_local_symbols
          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)

{
  Sized_relobj_file<32,_false> *pSVar1;
  bool bVar2;
  uint uVar3;
  Discard_locals DVar4;
  uint uVar5;
  _func_int_varargs *p_Var6;
  General_options *pGVar7;
  Output_section *pOVar8;
  Input_file *pIVar9;
  byte bVar10;
  uint uVar11;
  int iVar12;
  off_t start;
  uchar *puVar13;
  uint *puVar14;
  size_t sVar15;
  const_iterator cVar16;
  Xindex *this_00;
  undefined4 extraout_var_00;
  byte bVar17;
  char *pcVar18;
  uint *puVar19;
  Input_file *this_01;
  Sized_relobj_file<32,_false> *this_02;
  Input_file *this_03;
  char *s;
  char cVar20;
  uint symndx;
  uint uVar21;
  long lVar22;
  Location LVar23;
  Sized_relobj_file<32,_false> *local_a0;
  uint local_80;
  uint local_7c;
  section_size_type strtab_size;
  undefined1 local_58 [40];
  undefined4 extraout_var;
  
  uVar3 = this->symtab_shndx_;
  if (uVar3 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (uVar3 == 0) {
    return;
  }
  this_01 = (Input_file *)&this->elf_file_;
  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset
                    ((Elf_file<32,_false,_gold::Object> *)this_01,uVar3);
  this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (this_03 != (Input_file *)0x0) {
    puVar13 = File_read::get_view(&this_03->file_,
                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                  offset_,start,0x28,true,true);
    if (*(int *)(puVar13 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    uVar3 = this->local_symbol_count_;
    if (uVar3 != *(uint *)(puVar13 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
    if (this_03 != (Input_file *)0x0) {
      s = (char *)0x1;
      puVar14 = (uint *)File_read::get_view(&this_03->file_,
                                            (this->super_Sized_relobj<32,_false>).super_Relobj.
                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),
                                            (ulong)(uVar3 << 4),true,true);
      uVar21 = *(uint *)(puVar13 + 0x18);
      if (0xfeff < uVar21) {
        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum
                  ((Elf_file<32,_false,_gold::Object> *)this_01);
        uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;
      }
      p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];
      if (p_Var6 == do_section_contents) {
        LVar23 = elfcpp::Elf_file<32,_false,_gold::Object>::section_contents
                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);
        strtab_size = LVar23.data_size;
        local_a0 = (Sized_relobj_file<32,_false> *)
                   ((long)&Sized_relobj_file<64,true>::
                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);
        if (strtab_size != 0) {
          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
          this_03 = this_01;
          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;
          s = (char *)0x1;
          local_a0 = (Sized_relobj_file<32,_false> *)
                     File_read::get_view(&pIVar9->file_,
                                         (this->super_Sized_relobj<32,_false>).super_Relobj.
                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,
                                         true);
        }
      }
      else {
        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);
        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);
      }
      uVar21 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;
      pGVar7 = parameters->options_;
      if (pGVar7 == (General_options *)0x0) {
LAB_001e5621:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
      }
      bVar2 = (pGVar7->strip_all_).value;
      DVar4 = pGVar7->discard_locals_;
      if (uVar3 < 2) {
        local_80 = 0;
        local_7c = 0;
      }
      else {
        lVar22 = 0x18;
        symndx = 1;
        local_80 = 0;
        pSVar1 = (Sized_relobj_file<32,_false> *)(local_58 + 0x10);
        local_7c = 0;
        do {
          puVar19 = (uint *)((long)&((this->local_values_).
                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                                     ._M_impl._M_start)->output_symtab_index_ + lVar22);
          uVar11 = (uint)*(ushort *)((long)puVar14 + 0x1e);
          if (uVar11 < 0xff00) {
            cVar20 = '\x01';
LAB_001e508f:
            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;
          }
          else {
            cVar20 = '\0';
            if (uVar11 != 0xffff) goto LAB_001e508f;
            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
            if (this_00 == (Xindex *)0x0) {
              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                         _vptr_Object[0x1b])(this);
              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);
              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;
            }
            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);
            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;
            if ((uVar11 & 0x7ffffff) != uVar11) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar20 = '\x01';
          }
          bVar10 = *(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b';
          *(byte *)((long)puVar19 + 0xb) = bVar10;
          bVar17 = (byte)puVar14[7] & 0xf;
          if (bVar17 == 3) {
            if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;
          }
          else if (bVar17 == 6) {
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;
          }
          else if (bVar17 == 10) {
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;
          }
          puVar19[4] = puVar14[5];
          if (((uVar11 < uVar21) && (cVar20 != '\0')) &&
             ((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||
              ((pOVar8->order_ == ORDER_EHFRAME &&
               ((this->super_Sized_relobj<32,_false>).section_offsets_.
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
                [uVar11] == 0xffffffff)))))) {
            this_02 = (Sized_relobj_file<32,_false> *)(ulong)*puVar19;
            if (*puVar19 == 0) {
              *puVar19 = 0xffffffff;
              if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");
              }
            }
            else {
              do {
                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)this_02);
LAB_001e5400:
                if (((puVar14[7] & 0xf) == 4) || (puVar19[1] != 0xffffffff)) {
LAB_001e533f:
                  pGVar7 = parameters->options_;
                  if (pGVar7 == (General_options *)0x0) goto LAB_001e5621;
                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {
                    pcVar18 = (char *)0xffffffffffffffff;
                    local_58._0_8_ = pSVar1;
                    if (s != (char *)0x0) {
                      sVar15 = strlen(s);
                      pcVar18 = s + sVar15;
                    }
                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                    ::_M_construct<char_const*>
                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                               local_58,s,pcVar18);
                    cVar16 = std::
                             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                             ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                     *)&pGVar7->symbols_to_retain_,
                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                                     *)local_58);
                    this_02 = (Sized_relobj_file<32,_false> *)local_58._0_8_;
                    if ((Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1) {
                      operator_delete((void *)local_58._0_8_);
                    }
                    pcVar18 = s;
                    if (cVar16.
                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>
                        ._M_cur == (__node_type *)0x0) goto LAB_001e53eb;
                  }
                  Stringpool_template<char>::add(pool,s,true,(Key *)0x0);
                  local_7c = local_7c + 1;
                  goto LAB_001e518a;
                }
                uVar11 = *puVar19;
                if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) goto LAB_001e5609;
                if (uVar11 == 0xfffffffe) goto LAB_001e533f;
                this_02 = (Sized_relobj_file<32,_false> *)parameters->target_;
                if (this_02 == (Sized_relobj_file<32,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");
                }
                pcVar18 = s;
                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.
                                   super_Object._vptr_Object[10])(this_02,s);
                if ((char)iVar12 == '\0') goto LAB_001e533f;
LAB_001e53eb:
                uVar11 = *puVar19;
                s = pcVar18;
joined_r0x001e54a2:
              } while (uVar11 != 0);
              *puVar19 = 0xffffffff;
            }
          }
          else {
            if (((puVar14[7] & 0xf) != 3) &&
               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||
                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {
              s = (char *)strtab_size;
              uVar5 = puVar14[4];
              if (strtab_size <= uVar5) {
                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");
                this_02 = this;
                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);
                uVar11 = *puVar19;
                goto joined_r0x001e54a2;
              }
              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.
                                  super_Object._vptr_Object + (ulong)uVar5);
              this_02 = local_a0;
              if (puVar19[1] != 0xffffffff) {
                this_02 = (Sized_relobj_file<32,_false> *)dynpool;
                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);
                local_80 = local_80 + 1;
              }
              if (bVar2 != false) {
                uVar11 = *puVar19;
                goto joined_r0x001e54a2;
              }
              if (DVar4 != DISCARD_ALL) {
                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;
                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;
                if (cVar20 == '\0') goto LAB_001e533f;
                if ((this->super_Sized_relobj<32,_false>).section_offsets_.
                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
                    [uVar11] == 0xffffffff) goto LAB_001e5400;
                goto LAB_001e533f;
              }
              uVar11 = *puVar19;
              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {
                if (uVar11 == 0xfffffffe) goto LAB_001e533f;
                goto joined_r0x001e54a2;
              }
LAB_001e5609:
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")
              ;
            }
            if (*puVar19 != 0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");
            }
            *puVar19 = 0xffffffff;
            if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");
            }
          }
LAB_001e518a:
          symndx = symndx + 1;
          lVar22 = lVar22 + 0x18;
          puVar14 = puVar14 + 4;
        } while (uVar3 != symndx);
      }
      this->output_local_symbol_count_ = local_7c;
      this->output_local_dynsym_count_ = local_80;
      return;
    }
  }
LAB_001e5681:
                    /* WARNING: Subroutine does not return */
  Object::input_file((Object *)this_03);
}



void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)

{
  char cVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  int iVar5;
  long *plVar6;
  byte bVar7;
  char cVar8;
  char cVar9;
  uint uVar10;
  undefined8 uVar11;
  long lVar12;
  uint *puVar13;
  size_t sVar14;
  long lVar15;
  byte bVar16;
  char *pcVar17;
  int *piVar18;
  char *__s;
  uint uVar19;
  uint uVar20;
  undefined1 auVar21 [16];
  long local_a0;
  int local_80;
  int local_7c;
  char *local_60;
  undefined1 *local_58 [2];
  undefined1 local_48 [24];
  
  if (*(int *)((long)param_1 + 0x11c) == -1) {
                    /* WARNING: Subroutine does not return */
    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (*(int *)((long)param_1 + 0x11c) == 0) {
    return;
  }
  plVar6 = param_1 + 0x1f;
  uVar11 = FUN_001db8a0(plVar6);
  if (param_1[5] != 0) {
    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);
    if (*(int *)(lVar12 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    uVar2 = *(uint *)(param_1 + 0x24);
    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    if (param_1[5] != 0) {
      __s = (char *)0x1;
      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),
                                     uVar2 << 4);
      uVar20 = *(uint *)(lVar12 + 0x18);
      if (0xfeff < uVar20) {
        FUN_001da530(plVar6);
        uVar20 = uVar20 + (int)param_1[0x22];
      }
      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {
        auVar21 = FUN_001dba20(plVar6,uVar20);
        local_60 = auVar21._8_8_;
        local_a0 = 0x393c8d;
        if (local_60 != (char *)0x0) {
          if (param_1[5] == 0) goto LAB_001e5681;
          __s = (char *)0x1;
          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);
        }
      }
      else {
        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);
      }
      uVar20 = *(uint *)(param_1 + 7);
      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);
      if (lVar12 == 0) {
LAB_001e5621:
                    /* WARNING: Subroutine does not return */
        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
      }
      cVar1 = *(char *)(lVar12 + 0x54f9);
      iVar3 = *(int *)(lVar12 + 0x92a8);
      if (uVar2 < 2) {
        local_80 = 0;
        local_7c = 0;
      }
      else {
        lVar12 = 0x18;
        uVar19 = 1;
        local_80 = 0;
        local_7c = 0;
        do {
          piVar18 = (int *)(param_1[0x2c] + lVar12);
          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);
          if (uVar10 < 0xff00) {
            cVar9 = '\x01';
LAB_001e508f:
            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;
          }
          else {
            cVar9 = '\0';
            if (uVar10 != 0xffff) goto LAB_001e508f;
            lVar15 = param_1[8];
            if (lVar15 == 0) {
              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);
              param_1[8] = lVar15;
            }
            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);
            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;
            if ((uVar10 & 0x7ffffff) != uVar10) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar9 = '\x01';
          }
          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';
          *(byte *)((long)piVar18 + 0xb) = bVar7;
          bVar16 = (byte)puVar13[7] & 0xf;
          if (bVar16 == 3) {
            if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;
          }
          else if (bVar16 == 6) {
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;
          }
          else if (bVar16 == 10) {
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;
          }
          piVar18[4] = puVar13[5];
          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&
             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||
              ((*(int *)(lVar15 + 0x78) == 0xf &&
               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {
            if (*piVar18 == 0) {
              *piVar18 = -1;
              if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");
              }
            }
            else {
              do {
                FUN_001d1870();
LAB_001e5400:
                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {
LAB_001e533f:
                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);
                  if (lVar15 == 0) goto LAB_001e5621;
                  if (*(long *)(lVar15 + 0x9250) != 0) {
                    pcVar17 = (char *)0xffffffffffffffff;
                    local_58[0] = local_48;
                    if (__s != (char *)0x0) {
                      sVar14 = strlen(__s);
                      pcVar17 = __s + sVar14;
                    }
                    FUN_00174550(local_58,__s,pcVar17);
                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);
                    if (local_58[0] != local_48) {
                      FUN_002f1e60();
                    }
                    pcVar17 = __s;
                    if (lVar15 == 0) goto LAB_001e53eb;
                  }
                  FUN_002820b0(param_2,__s,1,0);
                  local_7c = local_7c + 1;
                  goto LAB_001e518a;
                }
                iVar5 = *piVar18;
                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;
                if (iVar5 == -2) goto LAB_001e533f;
                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);
                if (plVar6 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");
                }
                pcVar17 = __s;
                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);
                if (cVar9 == '\0') goto LAB_001e533f;
LAB_001e53eb:
                iVar5 = *piVar18;
                __s = pcVar17;
joined_r0x001e54a2:
              } while (iVar5 != 0);
              *piVar18 = -1;
            }
          }
          else {
            if (((puVar13[7] & 0xf) != 3) &&
               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||
                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {
              __s = local_60;
              uVar4 = puVar13[4];
              if (local_60 <= (char *)(ulong)uVar4) {
                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");
                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);
                iVar5 = *piVar18;
                goto joined_r0x001e54a2;
              }
              __s = (char *)(ulong)uVar4 + local_a0;
              if (piVar18[1] != -1) {
                FUN_002820b0(param_3,__s,1,0);
                local_80 = local_80 + 1;
              }
              if (cVar1 != '\0') {
                iVar5 = *piVar18;
                goto joined_r0x001e54a2;
              }
              if (iVar3 != 3) {
                if (iVar3 == 2) goto LAB_001e5400;
                if (iVar3 != 0) goto LAB_001e533f;
                if (cVar9 == '\0') goto LAB_001e533f;
                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;
                goto LAB_001e533f;
              }
              iVar5 = *piVar18;
              if ((iVar5 == 0) || (iVar5 == -2)) {
                if (iVar5 == -2) goto LAB_001e533f;
                goto joined_r0x001e54a2;
              }
LAB_001e5609:
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");
            }
            if (*piVar18 != 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");
            }
            *piVar18 = -1;
            if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");
            }
          }
LAB_001e518a:
          uVar19 = uVar19 + 1;
          lVar12 = lVar12 + 0x18;
          puVar13 = puVar13 + 4;
        } while (uVar2 != uVar19);
      }
      *(int *)((long)param_1 + 0x124) = local_7c;
      *(int *)(param_1 + 0x25) = local_80;
      return;
    }
  }
LAB_001e5681:
                    /* WARNING: Subroutine does not return */
  FUN_001d17f0();
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x88
MOV qword ptr [RSP + 0x30],RSI
MOV ESI,dword ptr [RDI + 0x11c]
MOV qword ptr [RSP + 0x28],RDX
CMP ESI,-0x1
JZ 0x001e5669
TEST ESI,ESI
JNZ 0x001e4f20
ADD RSP,0x88
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RBX,[RDI + 0xf8]
MOV R15,RDI
MOV RDI,RBX
CALL 0x001db8a0
MOV RDI,qword ptr [R15 + 0x28]
TEST RDI,RDI
JZ 0x001e5681
MOV RSI,qword ptr [R15 + 0x30]
ADD RDI,0x28
MOV ECX,0x28
MOV RDX,RAX
MOV R9D,0x1
MOV R8D,0x1
CALL 0x0018a760
CMP dword ptr [RAX + 0x4],0x2
MOV R12,RAX
JNZ 0x001e5639
MOV R14D,dword ptr [R15 + 0x120]
CMP R14D,dword ptr [RAX + 0x1c]
JNZ 0x001e5651
MOV RDI,qword ptr [R15 + 0x28]
MOV ECX,R14D
MOV EDX,dword ptr [RAX + 0x10]
SHL ECX,0x4
TEST RDI,RDI
JZ 0x001e5681
MOV RSI,qword ptr [R15 + 0x30]
ADD RDI,0x28
MOV R9D,0x1
MOV R8D,0x1
CALL 0x0018a760
MOV R12D,dword ptr [R12 + 0x18]
MOV RBP,RAX
CMP R12D,0xfeff
JA 0x001e5564
MOV RAX,qword ptr [R15]
LEA RDX,[0x1dbac0]
MOV RAX,qword ptr [RAX + 0x70]
CMP RAX,RDX
JNZ 0x001e5578
MOV ESI,R12D
MOV RDI,RBX
CALL 0x001dba20
LEA RCX,[0x393c8d]
MOV qword ptr [RSP + 0x58],RDX
MOV qword ptr [RSP + 0x18],RCX
TEST RDX,RDX
JNZ 0x001e552e
MOV EAX,dword ptr [R15 + 0x38]
ADD RBP,0x10
MOV dword ptr [RSP + 0x4],EAX
MOV RAX,qword ptr [0x0045c708]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001e5621
MOVZX ESI,byte ptr [RAX + 0x54f9]
MOV EAX,dword ptr [RAX + 0x92a8]
MOV byte ptr [RSP + 0x26],SIL
MOV dword ptr [RSP + 0x20],EAX
CMP R14D,0x1
JBE 0x001e5594
LEA RAX,[RSP + 0x60]
MOV R13D,0x18
MOV R12D,0x1
MOV dword ptr [RSP + 0x38],0x0
MOV qword ptr [RSP + 0x40],RAX
LEA RAX,[RSP + 0x70]
MOV qword ptr [RSP + 0x48],RAX
MOV RAX,R15
MOV R15D,R14D
MOV dword ptr [RSP + 0x3c],0x0
MOV R14,RAX
JMP 0x001e519f
XOR R9D,R9D
CMP EDX,0xffff
JZ 0x001e52b8
MOV EAX,dword ptr [RBX + 0x8]
AND EAX,0xf8000000
OR EAX,EDX
MOV dword ptr [RBX + 0x8],EAX
MOVZX EAX,byte ptr [RBX + 0xb]
LEA EDX,[R9*0x8]
AND EAX,0xfffffff7
OR EAX,EDX
MOV byte ptr [RBX + 0xb],AL
MOVZX EDX,byte ptr [RBP + 0xc]
AND EDX,0xf
CMP DL,0x3
JZ 0x001e5230
CMP DL,0x6
JZ 0x001e52a8
CMP DL,0xa
JNZ 0x001e50d8
OR EAX,0x40
MOV byte ptr [RBX + 0xb],AL
NOP dword ptr [RAX]
MOV EAX,dword ptr [RBP + 0x4]
MOV dword ptr [RBX + 0x10],EAX
CMP dword ptr [RSP + 0x4],R10D
JBE 0x001e50ee
TEST R9B,R9B
JNZ 0x001e5248
MOVZX EAX,byte ptr [RBP + 0xc]
AND EAX,0xf
CMP AL,0x3
JZ 0x001e51f5
MOV RAX,qword ptr [R14]
LEA RSI,[0x1d2fe0]
MOV RAX,qword ptr [RAX + 0x200]
CMP RAX,RSI
JNZ 0x001e51d0
MOV EAX,dword ptr [RBP]
MOV R8,qword ptr [RSP + 0x58]
CMP RAX,R8
JNC 0x001e5470
MOV RDI,qword ptr [RSP + 0x18]
CMP dword ptr [RBX + 0x4],-0x1
LEA R8,[RDI + RAX*0x1]
JZ 0x001e516f
MOV RDI,qword ptr [RSP + 0x28]
MOV RSI,R8
XOR ECX,ECX
MOV EDX,0x1
MOV byte ptr [RSP + 0x27],R9B
MOV dword ptr [RSP + 0x10],R10D
MOV qword ptr [RSP + 0x8],R8
CALL 0x002820b0
ADD dword ptr [RSP + 0x38],0x1
MOVZX R9D,byte ptr [RSP + 0x27]
MOV R10D,dword ptr [RSP + 0x10]
MOV R8,qword ptr [RSP + 0x8]
CMP byte ptr [RSP + 0x26],0x0
JZ 0x001e5300
MOV EAX,dword ptr [RBX]
TEST EAX,EAX
JNZ 0x001e53f5
MOV dword ptr [RBX],0xffffffff
ADD R12D,0x1
ADD RBP,0x10
ADD R13,0x18
CMP R15D,R12D
JZ 0x001e5510
MOV RBX,qword ptr [R14 + 0x160]
MOVZX EDX,word ptr [RBP + 0xe]
ADD RBX,R13
MOV R10D,EDX
CMP EDX,0xfeff
JA 0x001e5080
MOV R9D,0x1
JMP 0x001e508f
MOV byte ptr [RSP + 0x10],R9B
MOV RSI,RBX
MOV RDI,R14
MOV dword ptr [RSP + 0x8],R10D
CALL RAX
MOV R10D,dword ptr [RSP + 0x8]
MOVZX R9D,byte ptr [RSP + 0x10]
TEST AL,AL
JNZ 0x001e5117
MOV ESI,dword ptr [RBX]
TEST ESI,ESI
JNZ 0x001e55c1
CMP dword ptr [RBX + 0x4],-0x1
MOV dword ptr [RBX],0xffffffff
JZ 0x001e518a
LEA RDX,[0x393600]
MOV ESI,0x915
LEA RDI,[0x392078]
CALL 0x0018ff20
CMP dword ptr [RBX + 0x4],-0x1
JNZ 0x001e55d9
OR EAX,0x10
MOV byte ptr [RBX + 0xb],AL
JMP 0x001e50d8
MOV RAX,qword ptr [R14 + 0x50]
MOV EDX,R10D
MOV RAX,qword ptr [RAX + RDX*0x8]
TEST RAX,RAX
JZ 0x001e5273
CMP dword ptr [RAX + 0x78],0xf
JNZ 0x001e50ee
MOV RAX,qword ptr [R14 + 0xe0]
CMP dword ptr [RAX + RDX*0x4],-0x1
JNZ 0x001e50ee
MOV EDI,dword ptr [RBX]
TEST EDI,EDI
JNZ 0x001e53f5
CMP dword ptr [RBX + 0x4],-0x1
MOV dword ptr [RBX],0xffffffff
JZ 0x001e518a
LEA RDX,[0x393600]
MOV ESI,0x90d
LEA RDI,[0x392078]
CALL 0x0018ff20
OR EAX,0x20
MOV byte ptr [RBX + 0xb],AL
JMP 0x001e50d8
MOV RDI,qword ptr [R14 + 0x40]
TEST RDI,RDI
JZ 0x001e54d0
MOV EDX,R12D
MOV RSI,R14
CALL 0x001d1ac0
MOV R10D,EAX
MOV EAX,dword ptr [RBX + 0x8]
MOV EDX,R10D
AND EDX,0x7ffffff
AND EAX,0xf8000000
OR EAX,EDX
MOV dword ptr [RBX + 0x8],EAX
CMP EDX,R10D
JNZ 0x001e55a9
MOV R9D,0x1
JMP 0x001e509c
CMP dword ptr [RSP + 0x20],0x3
JZ 0x001e54f0
CMP dword ptr [RSP + 0x20],0x2
JZ 0x001e5400
MOV EDX,dword ptr [RSP + 0x20]
TEST EDX,EDX
JNZ 0x001e5338
TEST R9B,R9B
JZ 0x001e5338
MOV RAX,qword ptr [R14 + 0xe0]
CMP dword ptr [RAX + R10*0x4],-0x1
JZ 0x001e5400
NOP dword ptr [RAX]
MOV RAX,qword ptr [0x0045c708]
MOV RCX,qword ptr [RAX + 0x10]
TEST RCX,RCX
JZ 0x001e5621
CMP qword ptr [RCX + 0x9250],0x0
JZ 0x001e54b0
MOV RAX,qword ptr [RSP + 0x48]
MOV RDX,-0x1
MOV qword ptr [RSP + 0x60],RAX
TEST R8,R8
JZ 0x001e5390
MOV RDI,R8
MOV qword ptr [RSP + 0x10],RCX
MOV qword ptr [RSP + 0x8],R8
CALL 0x00149490
MOV R8,qword ptr [RSP + 0x8]
MOV RCX,qword ptr [RSP + 0x10]
LEA RDX,[R8 + RAX*0x1]
MOV RDI,qword ptr [RSP + 0x40]
MOV RSI,R8
MOV qword ptr [RSP + 0x8],R8
MOV qword ptr [RSP + 0x10],RCX
CALL 0x00174550
MOV RCX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x40]
LEA RDI,[RCX + 0x9238]
CALL 0x0017cef0
MOV RDI,qword ptr [RSP + 0x60]
CMP RDI,qword ptr [RSP + 0x48]
MOV R8,qword ptr [RSP + 0x8]
JZ 0x001e53e2
MOV qword ptr [RSP + 0x10],RAX
CALL 0x002f1e60
MOV RAX,qword ptr [RSP + 0x10]
MOV R8,qword ptr [RSP + 0x8]
TEST RAX,RAX
JNZ 0x001e54b0
MOV EAX,dword ptr [RBX]
TEST EAX,EAX
JZ 0x001e5184
CALL 0x001d1870
NOP word ptr [RAX + RAX*0x1]
MOVZX EAX,byte ptr [RBP + 0xc]
AND EAX,0xf
CMP AL,0x4
JZ 0x001e5338
CMP dword ptr [RBX + 0x4],-0x1
JNZ 0x001e5338
MOV EDX,dword ptr [RBX]
TEST EDX,EDX
JZ 0x001e5428
CMP EDX,-0x2
JNZ 0x001e5609
MOV RAX,qword ptr [0x0045c708]
CMP EDX,-0x2
JZ 0x001e533f
MOV RDI,qword ptr [RAX + 0x18]
TEST RDI,RDI
JZ 0x001e55f1
MOV RAX,qword ptr [RDI]
MOV RSI,R8
MOV qword ptr [RSP + 0x8],R8
CALL qword ptr [RAX + 0x50]
TEST AL,AL
JNZ 0x001e53eb
MOV RAX,qword ptr [0x0045c708]
MOV R8,qword ptr [RSP + 0x8]
JMP 0x001e533f
LEA RDI,[0x3924c8]
MOV qword ptr [RSP + 0x8],R8
MOV dword ptr [RSP + 0x10],EAX
CALL 0x00149320
MOV ECX,dword ptr [RSP + 0x10]
MOV EDX,R12D
MOV RDI,R14
MOV R8,qword ptr [RSP + 0x8]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001d19e0
MOV ECX,dword ptr [RBX]
TEST ECX,ECX
JZ 0x001e5184
JMP 0x001e53f5
MOV RDI,qword ptr [RSP + 0x30]
XOR ECX,ECX
MOV EDX,0x1
MOV RSI,R8
CALL 0x002820b0
ADD dword ptr [RSP + 0x3c],0x1
JMP 0x001e518a
MOV RAX,qword ptr [R14]
MOV RDI,R14
CALL qword ptr [RAX + 0xd8]
MOV RDI,RAX
MOV qword ptr [R14 + 0x40],RAX
JMP 0x001e52c5
MOV EAX,dword ptr [RBX]
TEST EAX,EAX
JZ 0x001e54ff
CMP EAX,-0x2
JNZ 0x001e5609
CMP EAX,-0x2
JNZ 0x001e517c
JMP 0x001e5338
MOV R15,R14
MOV EAX,dword ptr [RSP + 0x3c]
MOV dword ptr [R15 + 0x124],EAX
MOV EAX,dword ptr [RSP + 0x38]
MOV dword ptr [R15 + 0x128],EAX
JMP 0x001e4f0e
MOV RCX,qword ptr [R15 + 0x28]
TEST RCX,RCX
JZ 0x001e5681
MOV RSI,qword ptr [R15 + 0x30]
LEA RDI,[RCX + 0x28]
MOV RCX,RDX
MOV R9D,0x1
MOV R8D,0x1
MOV RDX,RAX
CALL 0x0018a760
MOV qword ptr [RSP + 0x18],RAX
JMP 0x001e4ffe
MOV RDI,RBX
CALL 0x001da530
ADD R12D,dword ptr [R15 + 0x110]
JMP 0x001e4fc2
LEA RDX,[RSP + 0x58]
MOV ECX,0x1
MOV ESI,R12D
MOV RDI,R15
CALL RAX
MOV qword ptr [RSP + 0x18],RAX
JMP 0x001e4ffe
MOV dword ptr [RSP + 0x38],0x0
MOV dword ptr [RSP + 0x3c],0x0
JMP 0x001e5513
LEA RDX,[0x3935f0]
MOV ESI,0x755
LEA RDI,[0x3873ac]
CALL 0x0018ff20
LEA RDX,[0x393570]
MOV ESI,0x716
LEA RDI,[0x3873ac]
CALL 0x0018ff20
LEA RDX,[0x3935d0]
MOV ESI,0x76a
LEA RDI,[0x3873ac]
CALL 0x0018ff20
LEA RDX,[0x3939f3]
MOV ESI,0x69
LEA RDI,[0x382279]
CALL 0x0018ff20
LEA RDX,[0x3935a0]
MOV ESI,0x6f2
LEA RDI,[0x3873ac]
CALL 0x0018ff20
LEA RDX,[0x393a30]
MOV ESI,0x5c
LEA RDI,[0x382279]
CALL 0x0018ff20
LEA RDX,[0x393600]
MOV ESI,0x8cd
LEA RDI,[0x392078]
CALL 0x0018ff20
LEA RDX,[0x393600]
MOV ESI,0x8d2
LEA RDI,[0x392078]
CALL 0x0018ff20
LEA RDX,[0x393600]
MOV ESI,0x8c2
LEA RDI,[0x392078]
CALL 0x0018ff20
CALL 0x001d17f0
(translation_unit "void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  FUN_001d17f0();\n}\n\n" (function_definition "void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  FUN_001d17f0();\n}" primitive_type (function_declarator "FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long *param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  FUN_001d17f0();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined1 auVar21 [16];" type_identifier (array_declarator "auVar21 [16]" identifier [ number_literal ]) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (if_statement "if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == -1)" ( (binary_expression "*(int *)((long)param_1 + 0x11c) == -1" (pointer_expression "*(int *)((long)param_1 + 0x11c)" * (cast_expression "(int *)((long)param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x11c)" ( (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" { comment (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8c2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (if_statement "if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == 0)" ( (binary_expression "*(int *)((long)param_1 + 0x11c) == 0" (pointer_expression "*(int *)((long)param_1 + 0x11c)" * (cast_expression "(int *)((long)param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x11c)" ( (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "plVar6 = param_1 + 0x1f;" (assignment_expression "plVar6 = param_1 + 0x1f" identifier = (binary_expression "param_1 + 0x1f" identifier + number_literal)) ;) (expression_statement "uVar11 = FUN_001db8a0(plVar6);" (assignment_expression "uVar11 = FUN_001db8a0(plVar6)" identifier = (call_expression "FUN_001db8a0(plVar6)" identifier (argument_list "(plVar6)" ( identifier )))) ;) (if_statement "if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" { (expression_statement "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);" (assignment_expression "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (*(int *)(lVar12 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" if (parenthesized_expression "(*(int *)(lVar12 + 4) != 2)" ( (binary_expression "*(int *)(lVar12 + 4) != 2" (pointer_expression "*(int *)(lVar12 + 4)" * (cast_expression "(int *)(lVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 4)" ( (binary_expression "lVar12 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" { comment (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8cd,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (expression_statement "uVar2 = *(uint *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x24)" identifier = (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" if (parenthesized_expression "(uVar2 != *(uint *)(lVar12 + 0x1c))" ( (binary_expression "uVar2 != *(uint *)(lVar12 + 0x1c)" identifier != (pointer_expression "*(uint *)(lVar12 + 0x1c)" * (cast_expression "(uint *)(lVar12 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x1c)" ( (binary_expression "lVar12 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" { comment (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8d2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (if_statement "if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" { (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);" (assignment_expression "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(lVar12 + 0x10)" * (cast_expression "(undefined4 *)(lVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) )))) , (binary_expression "uVar2 << 4" identifier << number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(lVar12 + 0x18);" (assignment_expression "uVar20 = *(uint *)(lVar12 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar12 + 0x18)" * (cast_expression "(uint *)(lVar12 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x18)" ( (binary_expression "lVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" if (parenthesized_expression "(0xfeff < uVar20)" ( (binary_expression "0xfeff < uVar20" number_literal < identifier) )) (compound_statement "{\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" { (expression_statement "FUN_001da530(plVar6);" (call_expression "FUN_001da530(plVar6)" identifier (argument_list "(plVar6)" ( identifier ))) ;) (expression_statement "uVar20 = uVar20 + (int)param_1[0x22];" (assignment_expression "uVar20 = uVar20 + (int)param_1[0x22]" identifier = (binary_expression "uVar20 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" if (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001dbac0)" ( (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001dbac0" (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }" { (expression_statement "auVar21 = FUN_001dba20(plVar6,uVar20);" (assignment_expression "auVar21 = FUN_001dba20(plVar6,uVar20)" identifier = (call_expression "FUN_001dba20(plVar6,uVar20)" identifier (argument_list "(plVar6,uVar20)" ( identifier , identifier )))) ;) (expression_statement "local_60 = auVar21._8_8_;" (assignment_expression "local_60 = auVar21._8_8_" identifier = (field_expression "auVar21._8_8_" identifier . field_identifier)) ;) (expression_statement "local_a0 = 0x393c8d;" (assignment_expression "local_a0 = 0x393c8d" identifier = number_literal) ;) (if_statement "if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" if (parenthesized_expression "(local_60 != (char *)0x0)" ( (binary_expression "local_60 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" { (if_statement "if (param_1[5] == 0) goto LAB_001e5681;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e5681;" goto statement_identifier ;)) (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);" (assignment_expression "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (field_expression "auVar21._0_8_" identifier . field_identifier) , identifier )))) ;) })) }) (else_clause "else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" else (compound_statement "{\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" { (expression_statement "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);" (assignment_expression "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" identifier = (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar20,&local_60,1)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) , number_literal )))) ;) }))) (expression_statement "uVar20 = *(uint *)(param_1 + 7);" (assignment_expression "uVar20 = *(uint *)(param_1 + 7)" identifier = (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar12 == 0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(lVar12 == 0)" ( (binary_expression "lVar12 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" { (labeled_statement "LAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "cVar1 = *(char *)(lVar12 + 0x54f9);" (assignment_expression "cVar1 = *(char *)(lVar12 + 0x54f9)" identifier = (pointer_expression "*(char *)(lVar12 + 0x54f9)" * (cast_expression "(char *)(lVar12 + 0x54f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x54f9)" ( (binary_expression "lVar12 + 0x54f9" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(lVar12 + 0x92a8);" (assignment_expression "iVar3 = *(int *)(lVar12 + 0x92a8)" identifier = (pointer_expression "*(int *)(lVar12 + 0x92a8)" * (cast_expression "(int *)(lVar12 + 0x92a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x92a8)" ( (binary_expression "lVar12 + 0x92a8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n        local_80 = 0;\n        local_7c = 0;\n      }" { (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) }) (else_clause "else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" else (compound_statement "{\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" { (expression_statement "lVar12 = 0x18;" (assignment_expression "lVar12 = 0x18" identifier = number_literal) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);" do (compound_statement "{\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        }" { (expression_statement "piVar18 = (int *)(param_1[0x2c] + lVar12);" (assignment_expression "piVar18 = (int *)(param_1[0x2c] + lVar12)" identifier = (cast_expression "(int *)(param_1[0x2c] + lVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2c] + lVar12)" ( (binary_expression "param_1[0x2c] + lVar12" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);" (assignment_expression "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((long)puVar13 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((long)puVar13 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 0x1e)" ( (binary_expression "(long)puVar13 + 0x1e" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" if (parenthesized_expression "(uVar10 < 0xff00)" ( (binary_expression "uVar10 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }" { (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" statement_identifier : (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (binary_expression "piVar18[2] & 0xf8000000U | uVar10" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" identifier [ number_literal ]) & number_literal) | identifier)) ;)) }) (else_clause "else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" else (compound_statement "{\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" { (expression_statement "cVar9 = '\0';" (assignment_expression "cVar9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (uVar10 != 0xffff) goto LAB_001e508f;" if (parenthesized_expression "(uVar10 != 0xffff)" ( (binary_expression "uVar10 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_001e508f;" goto statement_identifier ;)) (expression_statement "lVar15 = param_1[8];" (assignment_expression "lVar15 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (if_statement "if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" { (expression_statement "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);" (assignment_expression "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0xd8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xd8))" ( (pointer_expression "**(code **)(*param_1 + 0xd8)" * (pointer_expression "*(code **)(*param_1 + 0xd8)" * (cast_expression "(code **)(*param_1 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xd8)" ( (binary_expression "*param_1 + 0xd8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "param_1[8] = lVar15;" (assignment_expression "param_1[8] = lVar15" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);" (assignment_expression "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19)" identifier = (call_expression "FUN_001d1ac0(lVar15,param_1,uVar19)" identifier (argument_list "(lVar15,param_1,uVar19)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (binary_expression "piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" identifier [ number_literal ]) & number_literal) | (binary_expression "uVar10 & 0x7ffffff" identifier & number_literal))) ;) (if_statement "if ((uVar10 & 0x7ffffff) != uVar10) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" if (parenthesized_expression "((uVar10 & 0x7ffffff) != uVar10)" ( (binary_expression "(uVar10 & 0x7ffffff) != uVar10" (parenthesized_expression "(uVar10 & 0x7ffffff)" ( (binary_expression "uVar10 & 0x7ffffff" identifier & number_literal) )) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" { comment (expression_statement "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");" (call_expression "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx")" identifier (argument_list "("../../gold/object.h",0x755,"set_input_shndx")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_input_shndx"" " string_content ") ))) ;) })) (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';" (assignment_expression "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" identifier = (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "cVar9 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar16 = (byte)puVar13[7] & 0xf;" (assignment_expression "bVar16 = (byte)puVar13[7] & 0xf" identifier = (binary_expression "(byte)puVar13[7] & 0xf" (cast_expression "(byte)puVar13[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[7]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 3)" ( (binary_expression "bVar16 == 3" identifier == number_literal) )) (compound_statement "{\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }" { (if_statement "if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" { comment (expression_statement "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");" (call_expression "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol")" identifier (argument_list "("../../gold/object.h",0x76a,"set_is_section_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_is_section_symbol"" " string_content ") ))) ;) })) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" else (if_statement "if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 6)" ( (binary_expression "bVar16 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }" { (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" else (if_statement "if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 10)" ( (binary_expression "bVar16 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" { (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "piVar18[4] = puVar13[5];" (assignment_expression "piVar18[4] = puVar13[5]" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = (subscript_expression "puVar13[5]" identifier [ number_literal ])) ;) (if_statement "if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" if (parenthesized_expression "(((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))))" ( (binary_expression "((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" (parenthesized_expression "((uVar10 < uVar20) && (cVar9 != '\0'))" ( (binary_expression "(uVar10 < uVar20) && (cVar9 != '\0')" (parenthesized_expression "(uVar10 < uVar20)" ( (binary_expression "uVar10 < uVar20" identifier < identifier) )) && (parenthesized_expression "(cVar9 != '\0')" ( (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" ( (parenthesized_expression "(lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))" ( (comma_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (assignment_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8)" identifier = (pointer_expression "*(long *)(param_1[10] + (ulong)uVar10 * 8)" * (cast_expression "(long *)(param_1[10] + (ulong)uVar10 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + (ulong)uVar10 * 8)" ( (binary_expression "param_1[10] + (ulong)uVar10 * 8" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 8" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) , (binary_expression "lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (binary_expression "lVar15 == 0" identifier == number_literal) || (parenthesized_expression "((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" ( (parenthesized_expression "(*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))" ( (binary_expression "*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" (binary_expression "*(int *)(lVar15 + 0x78) == 0xf" (pointer_expression "*(int *)(lVar15 + 0x78)" * (cast_expression "(int *)(lVar15 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x78)" ( (binary_expression "lVar15 + 0x78" identifier + number_literal) )))) == number_literal) && (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" ( (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" * (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" ( (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }" { (if_statement "if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (compound_statement "{\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }" { (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (if_statement "if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" { comment (expression_statement "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x90d,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }) (else_clause "else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" else (compound_statement "{\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" { (do_statement "do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);" do (compound_statement "{\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              }" { (expression_statement "FUN_001d1870();" (call_expression "FUN_001d1870()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" statement_identifier : (if_statement "if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" if (parenthesized_expression "(((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1))" ( (binary_expression "((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)" (parenthesized_expression "((puVar13[7] & 0xf) == 4)" ( (binary_expression "(puVar13[7] & 0xf) == 4" (parenthesized_expression "(puVar13[7] & 0xf)" ( (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" { (labeled_statement "LAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" statement_identifier : (expression_statement "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;)) (if_statement "if (lVar15 == 0) goto LAB_001e5621;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e5621;" goto statement_identifier ;)) (if_statement "if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" if (parenthesized_expression "(*(long *)(lVar15 + 0x9250) != 0)" ( (binary_expression "*(long *)(lVar15 + 0x9250) != 0" (pointer_expression "*(long *)(lVar15 + 0x9250)" * (cast_expression "(long *)(lVar15 + 0x9250)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x9250)" ( (binary_expression "lVar15 + 0x9250" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" { (expression_statement "pcVar17 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar17 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58[0] = local_48;" (assignment_expression "local_58[0] = local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" { (expression_statement "sVar14 = strlen(__s);" (assignment_expression "sVar14 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar17 = __s + sVar14;" (assignment_expression "pcVar17 = __s + sVar14" identifier = (binary_expression "__s + sVar14" identifier + identifier)) ;) })) (expression_statement "FUN_00174550(local_58,__s,pcVar17);" (call_expression "FUN_00174550(local_58,__s,pcVar17)" identifier (argument_list "(local_58,__s,pcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);" (assignment_expression "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58)" identifier = (call_expression "FUN_0017cef0(lVar15 + 0x9238,local_58)" identifier (argument_list "(lVar15 + 0x9238,local_58)" ( (binary_expression "lVar15 + 0x9238" identifier + number_literal) , identifier )))) ;) (if_statement "if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }" if (parenthesized_expression "(local_58[0] != local_48)" ( (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                      FUN_002f1e60();\n                    }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" identifier = identifier) ;) (if_statement "if (lVar15 == 0) goto LAB_001e53eb;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e53eb;" goto statement_identifier ;)) })) (expression_statement "FUN_002820b0(param_2,__s,1,0);" (call_expression "FUN_002820b0(param_2,__s,1,0)" identifier (argument_list "(param_2,__s,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_001e518a;" goto statement_identifier ;) }))) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;" if (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" ( (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 != -2)" ( (binary_expression "iVar5 != -2" identifier != number_literal) ))) )) (goto_statement "goto LAB_001e5609;" goto statement_identifier ;)) (if_statement "if (iVar5 == -2) goto LAB_001e533f;" if (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (expression_statement "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);" (assignment_expression "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0045c708 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0045c708 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" ( (binary_expression "PTR_DAT_0045c708 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar6 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" if (parenthesized_expression "(plVar6 == (long *)0x0)" ( (binary_expression "plVar6 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" { comment (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" identifier = identifier) ;) (expression_statement "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);" (assignment_expression "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s)" identifier = (call_expression "(**(code **)(*plVar6 + 0x50))(plVar6,__s)" (parenthesized_expression "(**(code **)(*plVar6 + 0x50))" ( (pointer_expression "**(code **)(*plVar6 + 0x50)" * (pointer_expression "*(code **)(*plVar6 + 0x50)" * (cast_expression "(code **)(*plVar6 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x50)" ( (binary_expression "*plVar6 + 0x50" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,__s)" ( identifier , identifier )))) ;) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (labeled_statement "LAB_001e53eb:\n                iVar5 = *piVar18;" statement_identifier : (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;)) (expression_statement "__s = pcVar17;" (assignment_expression "__s = pcVar17" identifier = identifier) ;) (labeled_statement "joined_r0x001e54a2:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) }))) }) (else_clause "else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" else (compound_statement "{\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" { (if_statement "if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" if (parenthesized_expression "(((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))))" ( (binary_expression "((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" (parenthesized_expression "((puVar13[7] & 0xf) != 3)" ( (binary_expression "(puVar13[7] & 0xf) != 3" (parenthesized_expression "(puVar13[7] & 0xf)" ( (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" ( (parenthesized_expression "(*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))" ( (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0" (pointer_expression "*(code **)(*param_1 + 0x200)" * (cast_expression "(code **)(*param_1 + 0x200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x200)" ( (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) || (parenthesized_expression "(cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" ( (comma_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'" (assignment_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18)" identifier = (call_expression "(**(code **)(*param_1 + 0x200))(param_1,piVar18)" (parenthesized_expression "(**(code **)(*param_1 + 0x200))" ( (pointer_expression "**(code **)(*param_1 + 0x200)" * (pointer_expression "*(code **)(*param_1 + 0x200)" * (cast_expression "(code **)(*param_1 + 0x200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x200)" ( (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,piVar18)" ( identifier , identifier )))) , (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" { (expression_statement "__s = local_60;" (assignment_expression "__s = local_60" identifier = identifier) ;) (expression_statement "uVar4 = puVar13[4];" (assignment_expression "uVar4 = puVar13[4]" identifier = (subscript_expression "puVar13[4]" identifier [ number_literal ])) ;) (if_statement "if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(local_60 <= (char *)(ulong)uVar4)" ( (binary_expression "local_60 <= (char *)(ulong)uVar4" identifier <= (cast_expression "(char *)(ulong)uVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier))) )) (compound_statement "{\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "uVar11 = gettext("local symbol %u section name out of range: %u >= %u");" (assignment_expression "uVar11 = gettext("local symbol %u section name out of range: %u >= %u")" identifier = (call_expression "gettext("local symbol %u section name out of range: %u >= %u")" identifier (argument_list "("local symbol %u section name out of range: %u >= %u")" ( (string_literal ""local symbol %u section name out of range: %u >= %u"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar11,uVar19,uVar4);" (call_expression "FUN_001d19e0(param_1,uVar11,uVar19,uVar4)" identifier (argument_list "(param_1,uVar11,uVar19,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (expression_statement "__s = (char *)(ulong)uVar4 + local_a0;" (assignment_expression "__s = (char *)(ulong)uVar4 + local_a0" identifier = (binary_expression "(char *)(ulong)uVar4 + local_a0" (cast_expression "(char *)(ulong)uVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) + identifier)) ;) (if_statement "if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" { (expression_statement "FUN_002820b0(param_3,__s,1,0);" (call_expression "FUN_002820b0(param_3,__s,1,0)" identifier (argument_list "(param_3,__s,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" if (parenthesized_expression "(iVar3 != 3)" ( (binary_expression "iVar3 != 3" identifier != number_literal) )) (compound_statement "{\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" { (if_statement "if (iVar3 == 2) goto LAB_001e5400;" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0) goto LAB_001e533f;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;" if (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" ( (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" * (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" ( (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;) })) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "((iVar5 == 0) || (iVar5 == -2))" ( (binary_expression "(iVar5 == 0) || (iVar5 == -2)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) ))) )) (compound_statement "{\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" { (if_statement "if (iVar5 == -2) goto LAB_001e533f;" if (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (labeled_statement "LAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" statement_identifier : comment (expression_statement "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" (call_expression "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" identifier (argument_list "("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""may_be_discarded_from_output_symtab"" " string_content ") ))) ;)) })) (if_statement "if (*piVar18 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" if (parenthesized_expression "(*piVar18 != 0)" ( (binary_expression "*piVar18 != 0" (pointer_expression "*piVar18" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" { comment (expression_statement "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (if_statement "if (piVar18[1] != -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" { comment (expression_statement "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x915,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }))) (labeled_statement "LAB_001e518a:\n          uVar19 = uVar19 + 1;" statement_identifier : (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;)) (expression_statement "lVar12 = lVar12 + 0x18;" (assignment_expression "lVar12 = lVar12 + 0x18" identifier = (binary_expression "lVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar19)" ( (binary_expression "uVar2 != uVar19" identifier != identifier) )) ;) }))) (expression_statement "*(int *)((long)param_1 + 0x124) = local_7c;" (assignment_expression "*(int *)((long)param_1 + 0x124) = local_7c" (pointer_expression "*(int *)((long)param_1 + 0x124)" * (cast_expression "(int *)((long)param_1 + 0x124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x124)" ( (binary_expression "(long)param_1 + 0x124" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_1 + 0x25) = local_80;" (assignment_expression "*(int *)(param_1 + 0x25) = local_80" (pointer_expression "*(int *)(param_1 + 0x25)" * (cast_expression "(int *)(param_1 + 0x25)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x25)" ( (binary_expression "param_1 + 0x25" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) })) (labeled_statement "LAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  FUN_001d17f0();" statement_identifier : comment (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" identifier (argument_list "()" ( ))) ;)) })))
(ERROR "/* 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 do_count_local_symbols(Sized_relobj_file<32,_false> * this,\n   Stringpool * pool, Stringpool * dynpool) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,_false>::do_count_local_symbols\n          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)\n\n{\n  Sized_relobj_file<32,_false> *pSVar1;\n  bool bVar2;\n  uint uVar3;\n  Discard_locals DVar4;\n  uint uVar5;\n  _func_int_varargs *p_Var6;\n  General_options *pGVar7;\n  Output_section *pOVar8;\n  Input_file *pIVar9;\n  byte bVar10;\n  uint uVar11;\n  int iVar12;\n  off_t start;\n  uchar *puVar13;\n  uint *puVar14;\n  size_t sVar15;\n  const_iterator cVar16;\n  Xindex *this_00;\n  undefined4 extraout_var_00;\n  byte bVar17;\n  char *pcVar18;\n  uint *puVar19;\n  Input_file *this_01;\n  Sized_relobj_file<32,_false> *this_02;\n  Input_file *this_03;\n  char *s;\n  char cVar20;\n  uint symndx;\n  uint uVar21;\n  long lVar22;\n  Location LVar23;\n  Sized_relobj_file<32,_false> *local_a0;\n  uint local_80;\n  uint local_7c;\n  section_size_type strtab_size;\n  undefined1 local_58 [40];\n  undefined4 extraout_var;\n  \n  uVar3 = this->symtab_shndx_;\n  if (uVar3 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (uVar3 == 0) {\n    return;\n  }\n  this_01 = (Input_file *)&this->elf_file_;\n  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset\n                    ((Elf_file<32,_false,_gold::Object> *)this_01,uVar3);\n  this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n  if (this_03 != (Input_file *)0x0) {\n    puVar13 = File_read::get_view(&this_03->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true);\n    if (*(int *)(puVar13 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar3 = this->local_symbol_count_;\n    if (uVar3 != *(uint *)(puVar13 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n    if (this_03 != (Input_file *)0x0) {\n      s = (char *)0x1;\n      puVar14 = (uint *)File_read::get_view(&this_03->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),\n                                            (ulong)(uVar3 << 4),true,true);\n      uVar21 = *(uint *)(puVar13 + 0x18);\n      if (0xfeff < uVar21) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)this_01);\n        uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;\n      }\n      p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];\n      if (p_Var6 == do_section_contents) {\n        LVar23 = elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);\n        strtab_size = LVar23.data_size;\n        local_a0 = (Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);\n        if (strtab_size != 0) {\n          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          this_03 = this_01;\n          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;\n          s = (char *)0x1;\n          local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);\n        }\n      }\n      else {\n        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);\n        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);\n      }\n      uVar21 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar4 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar22 = 0x18;\n        symndx = 1;\n        local_80 = 0;\n        pSVar1 = (Sized_relobj_file<32,_false> *)(local_58 + 0x10);\n        local_7c = 0;\n        do {\n          puVar19 = (uint *)((long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22);\n          uVar11 = (uint)*(ushort *)((long)puVar14 + 0x1e);\n          if (uVar11 < 0xff00) {\n            cVar20 = '\x01';\nLAB_001e508f:\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;\n          }\n          else {\n            cVar20 = '\0';\n            if (uVar11 != 0xffff) goto LAB_001e508f;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;\n            if ((uVar11 & 0x7ffffff) != uVar11) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar20 = '\x01';\n          }\n          bVar10 = *(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b';\n          *(byte *)((long)puVar19 + 0xb) = bVar10;\n          bVar17 = (byte)puVar14[7] & 0xf;\n          if (bVar17 == 3) {\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;\n          }\n          else if (bVar17 == 6) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;\n          }\n          else if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }\n          puVar19[4] = puVar14[5];\n          if (((uVar11 < uVar21) && (cVar20 != '\0')) &&\n             ((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))))) {\n            this_02 = (Sized_relobj_file<32,_false> *)(ulong)*puVar19;\n            if (*puVar19 == 0) {\n              *puVar19 = 0xffffffff;\n              if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)this_02);\nLAB_001e5400:\n                if (((puVar14[7] & 0xf) == 4) || (puVar19[1] != 0xffffffff)) {\nLAB_001e533f:\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_001e5621;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    pcVar18 = (char *)0xffffffffffffffff;\n                    local_58._0_8_ = pSVar1;\n                    if (s != (char *)0x0) {\n                      sVar15 = strlen(s);\n                      pcVar18 = s + sVar15;\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>\n                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18);\n                    cVar16 = std::\n                             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&pGVar7->symbols_to_retain_,\n                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58);\n                    this_02 = (Sized_relobj_file<32,_false> *)local_58._0_8_;\n                    if ((Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1) {\n                      operator_delete((void *)local_58._0_8_);\n                    }\n                    pcVar18 = s;\n                    if (cVar16.\n                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>\n                        ._M_cur == (__node_type *)0x0) goto LAB_001e53eb;\n                  }\n                  Stringpool_template<char>::add(pool,s,true,(Key *)0x0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                uVar11 = *puVar19;\n                if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) goto LAB_001e5609;\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                this_02 = (Sized_relobj_file<32,_false> *)parameters->target_;\n                if (this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_ = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file((Object *)this_03);\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,_false>::do_count_local_symbols\n          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)\n\n{\n  Sized_relobj_file<32,_false> *pSVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_count_local_symbols\n          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)\n\n{" identifier > : : (function_declarator "do_count_local_symbols\n          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)" identifier (parameter_list "(Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool *pool" type_identifier (pointer_declarator "*pool" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) ))) {) identifier (ERROR "<32" < number_literal) , (ERROR "_false>" identifier >) (pointer_declarator "*pSVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Discard_locals DVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var6;" type_identifier (pointer_declarator "*p_Var6" * identifier) ;) (declaration "General_options *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "Output_section *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "Input_file *pIVar9;" type_identifier (pointer_declarator "*pIVar9" * identifier) ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "off_t start;" type_identifier identifier ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "const_iterator cVar16;" type_identifier identifier ;) (declaration "Xindex *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "Input_file *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (expression_statement "Sized_relobj_file<32,_false> *this_02;" (update_expression "Sized_relobj_file<32,_false> *this_02" (binary_expression "Sized_relobj_file<32,_false> *this_02" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_02" * identifier)) --) ;) (declaration "Input_file *this_03;" type_identifier (pointer_declarator "*this_03" * identifier) ;) (declaration "char *s;" primitive_type (pointer_declarator "*s" * identifier) ;) (declaration "char cVar20;" primitive_type identifier ;) (declaration "uint symndx;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "long lVar22;" (sized_type_specifier "long" long) identifier ;) (declaration "Location LVar23;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<32,_false> *local_a0;" (update_expression "Sized_relobj_file<32,_false> *local_a0" (binary_expression "Sized_relobj_file<32,_false> *local_a0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_a0" * identifier)) --) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "section_size_type strtab_size;" type_identifier identifier ;) (declaration "undefined1 local_58 [40];" type_identifier (array_declarator "local_58 [40]" identifier [ number_literal ]) ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (expression_statement "uVar3 = this->symtab_shndx_;" (assignment_expression "uVar3 = this->symtab_shndx_" identifier = (field_expression "this->symtab_shndx_" identifier -> field_identifier)) ;) (if_statement "if (uVar3 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" if (parenthesized_expression "(uVar3 == 0xffffffff)" ( (binary_expression "uVar3 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8c2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (if_statement "if (uVar3 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "this_01 = (Input_file *)&this->elf_file_;" (assignment_expression "this_01 = (Input_file *)&this->elf_file_" identifier = (cast_expression "(Input_file *)&this->elf_file_" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)))) ;) (ERROR "start = elfcpp::Elf_file<32,_false," (binary_expression "start = elfcpp::Elf_file<32" (assignment_expression "start = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Object>::section_header_offset\n                    ((Elf_file<32,_false,_gold::Object> *)this_01,uVar3);" statement_identifier (ERROR "::Object>::section_header_offset\n                    ((Elf_file<32,_false,_gold:" : : identifier > : : identifier ( ( (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) :) : (expression_statement "Object> *)this_01,uVar3);" (comma_expression "Object> *)this_01,uVar3" (binary_expression "Object> *)this_01" identifier > (pointer_expression "*)this_01" * (ERROR ")" )) identifier)) , identifier) (ERROR ")" )) ;)) (expression_statement "this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) if (parenthesized_expression "(this_03 != (Input_file *)0x0)" ( (binary_expression "this_03 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) { (ERROR "puVar13 = File_read::" (assignment_expression "puVar13 = File_read" identifier = identifier) : :) (expression_statement "get_view(&this_03->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true);" (call_expression "get_view(&this_03->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true)" identifier (argument_list "(&this_03->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true)" ( (pointer_expression "&this_03->file_" & (field_expression "this_03->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , identifier , number_literal , true , true ))) ;) (if_statement "if (*(int *)(puVar13 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" if (parenthesized_expression "(*(int *)(puVar13 + 4) != 2)" ( (binary_expression "*(int *)(puVar13 + 4) != 2" (pointer_expression "*(int *)(puVar13 + 4)" * (cast_expression "(int *)(puVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8cd,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (expression_statement "uVar3 = this->local_symbol_count_;" (assignment_expression "uVar3 = this->local_symbol_count_" identifier = (field_expression "this->local_symbol_count_" identifier -> field_identifier)) ;) (if_statement "if (uVar3 != *(uint *)(puVar13 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" if (parenthesized_expression "(uVar3 != *(uint *)(puVar13 + 0x1c))" ( (binary_expression "uVar3 != *(uint *)(puVar13 + 0x1c)" identifier != (pointer_expression "*(uint *)(puVar13 + 0x1c)" * (cast_expression "(uint *)(puVar13 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x1c)" ( (binary_expression "puVar13 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8d2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (expression_statement "this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) if (parenthesized_expression "(this_03 != (Input_file *)0x0)" ( (binary_expression "this_03 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) { (expression_statement "s = (char *)0x1;" (assignment_expression "s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "puVar14 = (uint *)File_read::" (assignment_expression "puVar14 = (uint *)File_read" identifier = (cast_expression "(uint *)File_read" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "get_view(&this_03->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),\n                                            (ulong)(uVar3 << 4),true,true);" (call_expression "get_view(&this_03->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),\n                                            (ulong)(uVar3 << 4),true,true)" identifier (argument_list "(&this_03->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),\n                                            (ulong)(uVar3 << 4),true,true)" ( (pointer_expression "&this_03->file_" & (field_expression "this_03->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "(ulong)*(uint *)(puVar13 + 0x10)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(puVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x10)" ( (binary_expression "puVar13 + 0x10" identifier + number_literal) )))) , (call_expression "(ulong)(uVar3 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 << 4)" ( (binary_expression "uVar3 << 4" identifier << number_literal) ))) , true , true ))) ;) (expression_statement "uVar21 = *(uint *)(puVar13 + 0x18);" (assignment_expression "uVar21 = *(uint *)(puVar13 + 0x18)" identifier = (pointer_expression "*(uint *)(puVar13 + 0x18)" * (cast_expression "(uint *)(puVar13 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x18)" ( (binary_expression "puVar13 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar21) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)this_01);\n        uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;\n      }" if (parenthesized_expression "(0xfeff < uVar21)" ( (binary_expression "0xfeff < uVar21" number_literal < identifier) )) (compound_statement "{\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)this_01);\n        uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;\n      }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)this_01);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) :) : (expression_statement "Object> *)this_01);" (binary_expression "Object> *)this_01" identifier > (pointer_expression "*)this_01" * (ERROR ")" )) identifier)) (ERROR ")" )) ;)) (expression_statement "uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar21 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];" (assignment_expression "p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe]" identifier = (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var6 == do_section_contents) {\n        LVar23 = elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);\n        strtab_size = LVar23.data_size;\n        local_a0 = (Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);\n        if (strtab_size != 0) {\n          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          this_03 = this_01;\n          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;\n          s = (char *)0x1;\n          local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);\n        }\n      }\n      else {\n        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);\n        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);\n      }" if (parenthesized_expression "(p_Var6 == do_section_contents)" ( (binary_expression "p_Var6 == do_section_contents" identifier == identifier) )) (compound_statement "{\n        LVar23 = elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);\n        strtab_size = LVar23.data_size;\n        local_a0 = (Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);\n        if (strtab_size != 0) {\n          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          this_03 = this_01;\n          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;\n          s = (char *)0x1;\n          local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);\n        }\n      }" { (ERROR "LVar23 = elfcpp::Elf_file<32,_false,_gold::" (comma_expression "LVar23 = elfcpp::Elf_file<32,_false,_gold" (binary_expression "LVar23 = elfcpp::Elf_file<32" (assignment_expression "LVar23 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);" (binary_expression "Object>::section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21)" identifier > (ERROR "::" : :) (call_expression "section_contents\n                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21)" identifier (argument_list "((Elf_file<32,_false,_gold::Object> *)this_01,uVar21)" ( (parenthesized_expression "(Elf_file<32,_false,_gold::Object> *)this_01,uVar21)" ( (ERROR "Elf_file<32,_false,_gold::" (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (comma_expression "Object> *)this_01,uVar21" (binary_expression "Object> *)this_01" identifier > (pointer_expression "*)this_01" * (ERROR ")" )) identifier)) , identifier) )) )))) ;) (expression_statement "strtab_size = LVar23.data_size;" (assignment_expression "strtab_size = LVar23.data_size" identifier = (field_expression "LVar23.data_size" identifier . field_identifier)) ;) (expression_statement "local_a0 = (Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);" (assignment_expression "local_a0 = (Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" identifier > (pointer_expression "*)\n                   ((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" * (ERROR ")" )) (parenthesized_expression "((long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3)" ( (ERROR "(long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)::" (comma_expression "(long)&Sized_relobj_file<64,true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)" (binary_expression "(long)&Sized_relobj_file<64" (cast_expression "(long)&Sized_relobj_file" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&Sized_relobj_file" & identifier)) < number_literal) , (binary_expression "true>::\n                           do_section_contents(unsigned_int,unsigned_long*,bool)" true > (ERROR "::" : :) (call_expression "do_section_contents(unsigned_int,unsigned_long*,bool)" identifier (argument_list "(unsigned_int,unsigned_long*,bool)" ( identifier , identifier (ERROR "*" *) , identifier ))))) : :) (binary_expression "empty + 3" identifier + number_literal) ))))) ))) ;) (if_statement "if (strtab_size != 0) {\n          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          this_03 = this_01;\n          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;\n          s = (char *)0x1;\n          local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);\n        }" if (parenthesized_expression "(strtab_size != 0)" ( (binary_expression "strtab_size != 0" identifier != number_literal) )) (compound_statement "{\n          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          this_03 = this_01;\n          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;\n          s = (char *)0x1;\n          local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);\n        }" { (expression_statement "pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "this_03 = this_01;" (assignment_expression "this_03 = this_01" identifier = identifier) ;) (if_statement "if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;" if (parenthesized_expression "(pIVar9 == (Input_file *)0x0)" ( (binary_expression "pIVar9 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e5681;" goto statement_identifier ;)) (expression_statement "s = (char *)0x1;" (assignment_expression "s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true);" (assignment_expression "local_a0 = (Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                     File_read::get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true)" ( (ERROR "Sized_relobj_file<32,_false> *)\n                     File_read::" (comma_expression "Sized_relobj_file<32,_false> *)\n                     File_read" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                     File_read" identifier > (pointer_expression "*)\n                     File_read" * (ERROR ")" )) identifier))) : :) (call_expression "get_view(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true)" identifier (argument_list "(&pIVar9->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,\n                                         true)" ( (pointer_expression "&pIVar9->file_" & (field_expression "pIVar9->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (field_expression "LVar23.file_offset" identifier . field_identifier) , identifier , true , true ))) ))) ;) })) }) (else_clause "else {\n        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);\n        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);\n      }" else (compound_statement "{\n        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);\n        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);\n      }" { (expression_statement "iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);" (assignment_expression "iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size)" identifier = (call_expression "(*p_Var6)(this,(ulong)uVar21,&strtab_size)" (parenthesized_expression "(*p_Var6)" ( (pointer_expression "*p_Var6" * identifier) )) (argument_list "(this,(ulong)uVar21,&strtab_size)" ( identifier , (cast_expression "(ulong)uVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) , (pointer_expression "&strtab_size" & identifier) )))) ;) (expression_statement "local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);" (assignment_expression "local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12)" ( (comma_expression "Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)CONCAT44(extraout_var_00,iVar12)" identifier > (pointer_expression "*)CONCAT44(extraout_var_00,iVar12)" * (ERROR ")" )) (call_expression "CONCAT44(extraout_var_00,iVar12)" identifier (argument_list "(extraout_var_00,iVar12)" ( identifier , identifier )))))) ))) ;) }))) (expression_statement "uVar21 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;" (assignment_expression "uVar21 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pGVar7 = parameters->options_;" (assignment_expression "pGVar7 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar7 == (General_options *)0x0) {\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(pGVar7 == (General_options *)0x0)" ( (binary_expression "pGVar7 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }" { (labeled_statement "LAB_001e5621:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "bVar2 = (pGVar7->strip_all_).value;" (assignment_expression "bVar2 = (pGVar7->strip_all_).value" identifier = (field_expression "(pGVar7->strip_all_).value" (parenthesized_expression "(pGVar7->strip_all_)" ( (field_expression "pGVar7->strip_all_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "DVar4 = pGVar7->discard_locals_;" (assignment_expression "DVar4 = pGVar7->discard_locals_" identifier = (field_expression "pGVar7->discard_locals_" identifier -> field_identifier)) ;) if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n        local_80 = 0;\n        local_7c = 0;\n      }" { (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) }) else { (expression_statement "lVar22 = 0x18;" (assignment_expression "lVar22 = 0x18" identifier = number_literal) ;) (expression_statement "symndx = 1;" (assignment_expression "symndx = 1" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "pSVar1 = (Sized_relobj_file<32,_false> *)(local_58 + 0x10);" (assignment_expression "pSVar1 = (Sized_relobj_file<32,_false> *)(local_58 + 0x10)" identifier = (call_expression "(Sized_relobj_file<32,_false> *)(local_58 + 0x10)" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(local_58 + 0x10)" ( (binary_expression "local_58 + 0x10" identifier + number_literal) )))) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) do { (expression_statement "puVar19 = (uint *)((long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22);" (assignment_expression "puVar19 = (uint *)((long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22)" identifier = (cast_expression "(uint *)((long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22)" ( (binary_expression "(long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_ + lVar22" (cast_expression "(long)&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_" & (field_expression "((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)->output_symtab_index_" (parenthesized_expression "((this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start)" ( (field_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl._M_start" (field_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                     ._M_impl" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold::Symbol_value<32" (binary_expression "(this->local_values_).\n                                     super__Vector_base<gold" (field_expression "(this->local_values_).\n                                     super__Vector_base" (parenthesized_expression "(this->local_values_)" ( (field_expression "this->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) + identifier) )))) ;) (expression_statement "uVar11 = (uint)*(ushort *)((long)puVar14 + 0x1e);" (assignment_expression "uVar11 = (uint)*(ushort *)((long)puVar14 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((long)puVar14 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((long)puVar14 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar14 + 0x1e)" ( (binary_expression "(long)puVar14 + 0x1e" (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar11 < 0xff00) {\n            cVar20 = '\x01';\nLAB_001e508f:\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;\n          }\n          else {\n            cVar20 = '\0';\n            if (uVar11 != 0xffff) goto LAB_001e508f;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;\n            if ((uVar11 & 0x7ffffff) != uVar11) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar20 = '\x01';\n          }" if (parenthesized_expression "(uVar11 < 0xff00)" ( (binary_expression "uVar11 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar20 = '\x01';\nLAB_001e508f:\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;\n          }" { (expression_statement "cVar20 = '\x01';" (assignment_expression "cVar20 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_001e508f:\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;" statement_identifier : (expression_statement "puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;" (assignment_expression "puVar19[2] = puVar19[2] & 0xf8000000 | uVar11" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = (binary_expression "puVar19[2] & 0xf8000000 | uVar11" (binary_expression "puVar19[2] & 0xf8000000" (subscript_expression "puVar19[2]" identifier [ number_literal ]) & number_literal) | identifier)) ;)) }) (else_clause "else {\n            cVar20 = '\0';\n            if (uVar11 != 0xffff) goto LAB_001e508f;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;\n            if ((uVar11 & 0x7ffffff) != uVar11) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar20 = '\x01';\n          }" else (compound_statement "{\n            cVar20 = '\0';\n            if (uVar11 != 0xffff) goto LAB_001e508f;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);\n            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;\n            if ((uVar11 & 0x7ffffff) != uVar11) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar20 = '\x01';\n          }" { (expression_statement "cVar20 = '\0';" (assignment_expression "cVar20 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (uVar11 != 0xffff) goto LAB_001e508f;" if (parenthesized_expression "(uVar11 != 0xffff)" ( (binary_expression "uVar11 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_001e508f;" goto statement_identifier ;)) (expression_statement "this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;" (assignment_expression "this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_00 == (Xindex *)0x0) {\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }" if (parenthesized_expression "(this_00 == (Xindex *)0x0)" ( (binary_expression "this_00 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);\n              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }" { (expression_statement "iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this);" (assignment_expression "iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this)" identifier = (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b])" ( (pointer_expression "*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b]" * (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object[0x1b]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);" (assignment_expression "this_00 = (Xindex *)CONCAT44(extraout_var,iVar12)" identifier = (cast_expression "(Xindex *)CONCAT44(extraout_var,iVar12)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar12)" identifier (argument_list "(extraout_var,iVar12)" ( identifier , identifier ))))) ;) (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (ERROR "uVar11 = Xindex::" (assignment_expression "uVar11 = Xindex" identifier = identifier) : :) (expression_statement "sym_xindex_to_shndx(this_00,(Object *)this,symndx);" (call_expression "sym_xindex_to_shndx(this_00,(Object *)this,symndx)" identifier (argument_list "(this_00,(Object *)this,symndx)" ( identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;" (assignment_expression "puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = (binary_expression "puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff" (binary_expression "puVar19[2] & 0xf8000000" (subscript_expression "puVar19[2]" identifier [ number_literal ]) & number_literal) | (binary_expression "uVar11 & 0x7ffffff" identifier & number_literal))) ;) (if_statement "if ((uVar11 & 0x7ffffff) != uVar11) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }" if (parenthesized_expression "((uVar11 & 0x7ffffff) != uVar11)" ( (binary_expression "(uVar11 & 0x7ffffff) != uVar11" (parenthesized_expression "(uVar11 & 0x7ffffff)" ( (binary_expression "uVar11 & 0x7ffffff" identifier & number_literal) )) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");" (call_expression "do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx")" identifier (argument_list "("../../gold/object.h",0x755,"set_input_shndx")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_input_shndx"" " string_content ") ))) ;) })) (expression_statement "cVar20 = '\x01';" (assignment_expression "cVar20 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar10 = *(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b';" (assignment_expression "bVar10 = *(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b'" identifier = (binary_expression "*(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b'" (binary_expression "*(byte *)((long)puVar19 + 0xb) & 0xf7" (pointer_expression "*(byte *)((long)puVar19 + 0xb)" * (cast_expression "(byte *)((long)puVar19 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0xb)" ( (binary_expression "(long)puVar19 + 0xb" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "cVar20 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((long)puVar19 + 0xb) = bVar10;" (assignment_expression "*(byte *)((long)puVar19 + 0xb) = bVar10" (pointer_expression "*(byte *)((long)puVar19 + 0xb)" * (cast_expression "(byte *)((long)puVar19 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0xb)" ( (binary_expression "(long)puVar19 + 0xb" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar17 = (byte)puVar14[7] & 0xf;" (assignment_expression "bVar17 = (byte)puVar14[7] & 0xf" identifier = (binary_expression "(byte)puVar14[7] & 0xf" (cast_expression "(byte)puVar14[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar14[7]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (bVar17 == 3) {\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;\n          }\n          else if (bVar17 == 6) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;\n          }\n          else if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" if (parenthesized_expression "(bVar17 == 3)" ( (binary_expression "bVar17 == 3" identifier == number_literal) )) (compound_statement "{\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;\n          }" { (if_statement "if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" if (parenthesized_expression "(puVar19[1] != 0xffffffff)" ( (binary_expression "puVar19[1] != 0xffffffff" (subscript_expression "puVar19[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol")" identifier (argument_list "("../../gold/object.h",0x76a,"set_is_section_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_is_section_symbol"" " string_content ") ))) ;) })) (expression_statement "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;" (assignment_expression "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10" (pointer_expression "*(byte *)((long)puVar19 + 0xb)" * (cast_expression "(byte *)((long)puVar19 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0xb)" ( (binary_expression "(long)puVar19 + 0xb" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar10 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar17 == 6) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;\n          }\n          else if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" else (if_statement "if (bVar17 == 6) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;\n          }\n          else if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" if (parenthesized_expression "(bVar17 == 6)" ( (binary_expression "bVar17 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;\n          }" { (expression_statement "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;" (assignment_expression "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20" (pointer_expression "*(byte *)((long)puVar19 + 0xb)" * (cast_expression "(byte *)((long)puVar19 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0xb)" ( (binary_expression "(long)puVar19 + 0xb" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar10 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" else (if_statement "if (bVar17 == 10) {\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" if (parenthesized_expression "(bVar17 == 10)" ( (binary_expression "bVar17 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;\n          }" { (expression_statement "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;" (assignment_expression "*(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40" (pointer_expression "*(byte *)((long)puVar19 + 0xb)" * (cast_expression "(byte *)((long)puVar19 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0xb)" ( (binary_expression "(long)puVar19 + 0xb" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar10 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "puVar19[4] = puVar14[5];" (assignment_expression "puVar19[4] = puVar14[5]" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) if (parenthesized_expression "(((uVar11 < uVar21) && (cVar20 != '\0')) &&\n             ((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff))))))" ( (binary_expression "((uVar11 < uVar21) && (cVar20 != '\0')) &&\n             ((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))))" (parenthesized_expression "((uVar11 < uVar21) && (cVar20 != '\0'))" ( (binary_expression "(uVar11 < uVar21) && (cVar20 != '\0')" (parenthesized_expression "(uVar11 < uVar21)" ( (binary_expression "uVar11 < uVar21" identifier < identifier) )) && (parenthesized_expression "(cVar20 != '\0')" ( (binary_expression "cVar20 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))))" ( (parenthesized_expression "(pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff))))" ( (comma_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))" (subscript_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start[uVar11]" (field_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start" (field_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl" (binary_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                        super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) , (binary_expression "pOVar8 == (Output_section *)0x0 ||\n              ((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))" (binary_expression "pOVar8 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "((pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)))" ( (parenthesized_expression "(pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff))" ( (binary_expression "pOVar8->order_ == ORDER_EHFRAME &&\n               ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)" (binary_expression "pOVar8->order_ == ORDER_EHFRAME" (field_expression "pOVar8->order_" identifier -> field_identifier) == identifier) && (parenthesized_expression "((this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff)" ( (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11] == 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n                [uVar11]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) == number_literal) ))) )) )))) )) ))) )) { (expression_statement "this_02 = (Sized_relobj_file<32,_false> *)(ulong)*puVar19;" (assignment_expression "this_02 = (Sized_relobj_file<32,_false> *)(ulong)*puVar19" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)(ulong)*puVar19" (call_expression "(Sized_relobj_file<32,_false> *)(ulong)" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier ))) * identifier)) ;) if (parenthesized_expression "(*puVar19 == 0)" ( (binary_expression "*puVar19 == 0" (pointer_expression "*puVar19" * identifier) == number_literal) )) (compound_statement "{\n              *puVar19 = 0xffffffff;\n              if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }" { (expression_statement "*puVar19 = 0xffffffff;" (assignment_expression "*puVar19 = 0xffffffff" (pointer_expression "*puVar19" * identifier) = number_literal) ;) (if_statement "if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" if (parenthesized_expression "(puVar19[1] != 0xffffffff)" ( (binary_expression "puVar19[1] != 0xffffffff" (subscript_expression "puVar19[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x90d,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }) else { do { (expression_statement "Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)this_02);" (binary_expression "Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)this_02)" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "set_no_output_symtab_entry((Symbol_value<32> *)this_02)" identifier (argument_list "((Symbol_value<32> *)this_02)" ( (parenthesized_expression "(Symbol_value<32> *)this_02)" ( (binary_expression "Symbol_value<32> *)this_02" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)this_02" * (ERROR ")" )) identifier)) )) )))) ;) identifier : if (parenthesized_expression "(((puVar14[7] & 0xf) == 4) || (puVar19[1] != 0xffffffff))" ( (binary_expression "((puVar14[7] & 0xf) == 4) || (puVar19[1] != 0xffffffff)" (parenthesized_expression "((puVar14[7] & 0xf) == 4)" ( (binary_expression "(puVar14[7] & 0xf) == 4" (parenthesized_expression "(puVar14[7] & 0xf)" ( (binary_expression "puVar14[7] & 0xf" (subscript_expression "puVar14[7]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(puVar19[1] != 0xffffffff)" ( (binary_expression "puVar19[1] != 0xffffffff" (subscript_expression "puVar19[1]" identifier [ number_literal ]) != number_literal) ))) )) { (labeled_statement "LAB_001e533f:\n                  pGVar7 = parameters->options_;" statement_identifier : (expression_statement "pGVar7 = parameters->options_;" (assignment_expression "pGVar7 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;)) (if_statement "if (pGVar7 == (General_options *)0x0) goto LAB_001e5621;" if (parenthesized_expression "(pGVar7 == (General_options *)0x0)" ( (binary_expression "pGVar7 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e5621;" goto statement_identifier ;)) if (parenthesized_expression "((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0)" ( (binary_expression "(pGVar7->symbols_to_retain_)._M_h._M_element_count != 0" (field_expression "(pGVar7->symbols_to_retain_)._M_h._M_element_count" (field_expression "(pGVar7->symbols_to_retain_)._M_h" (parenthesized_expression "(pGVar7->symbols_to_retain_)" ( (field_expression "pGVar7->symbols_to_retain_" identifier -> field_identifier) )) . field_identifier) . field_identifier) != number_literal) )) { (expression_statement "pcVar18 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar18 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58._0_8_ = pSVar1;" (assignment_expression "local_58._0_8_ = pSVar1" (field_expression "local_58._0_8_" identifier . field_identifier) = identifier) ;) (if_statement "if (s != (char *)0x0) {\n                      sVar15 = strlen(s);\n                      pcVar18 = s + sVar15;\n                    }" if (parenthesized_expression "(s != (char *)0x0)" ( (binary_expression "s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      sVar15 = strlen(s);\n                      pcVar18 = s + sVar15;\n                    }" { (expression_statement "sVar15 = strlen(s);" (assignment_expression "sVar15 = strlen(s)" identifier = (call_expression "strlen(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "pcVar18 = s + sVar15;" (assignment_expression "pcVar18 = s + sVar15" identifier = (binary_expression "s + sVar15" identifier + identifier)) ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>\n                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    :" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>\n                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18);" (binary_expression "_M_construct<char_const*>\n                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18)" ( (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                               local_58,s,pcVar18)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (comma_expression "allocator<char>_> *)\n                               local_58,s,pcVar18" (binary_expression "allocator<char>_> *)\n                               local_58" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                               local_58" * (ERROR ")" )) identifier)) , (comma_expression "s,pcVar18" identifier , identifier)) )) ))) ;)) (ERROR "cVar16 = std::\n                             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (assignment_expression "cVar16 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : identifier : (ERROR ":" :) (binary_expression "_Hashtable_traits<true" identifier < true) , identifier , (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier ( ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&pGVar7->symbols_to_retain_,\n                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58);" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                                     *)&pGVar7->symbols_to_retain_,\n                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                                     *)&pGVar7->symbols_to_retain_,\n                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58)" identifier , (comma_expression "_true>_>\n                                     *)&pGVar7->symbols_to_retain_,\n                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58)" (binary_expression "_true>_>\n                                     *)&pGVar7->symbols_to_retain_" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&pGVar7->symbols_to_retain_" * (ERROR ")" )) (pointer_expression "&pGVar7->symbols_to_retain_" & (field_expression "pGVar7->symbols_to_retain_" identifier -> field_identifier)))) , (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                     *)local_58)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>\n                                     *)local_58" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)local_58" * (ERROR ")" )) identifier)) ))))) ;) identifier = ( (ERROR "Sized_relobj_file<32,_false> *)local_58._0_8_;\n                    if" (comma_expression "Sized_relobj_file<32,_false> *)local_58._0_8_" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)local_58._0_8_" identifier > (pointer_expression "*)local_58._0_8_" * (ERROR ")" )) (field_expression "local_58._0_8_" identifier . field_identifier)))) ; if) ( (ERROR "(Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1) {\n                      operator_delete((void *)local_58._0_8_);\n                    }\n                    pcVar18 = s;\n                    if (cVar16.\n                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>\n                        ._M_cur == (__node_type *)0x0) goto LAB_001e53eb;\n                  }\n                  Stringpool_template<char>::add(pool,s,true,(Key *)0x0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                uVar11 = *puVar19;\n                if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) goto LAB_001e5609;\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;" (parenthesized_expression "(Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1)" ( (comma_expression "Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)local_58._0_8_ != pSVar1" (binary_expression "_false> *)local_58._0_8_" identifier > (pointer_expression "*)local_58._0_8_" * (ERROR ")" )) (field_expression "local_58._0_8_" identifier . field_identifier))) != identifier)) )) (compound_statement "{\n                      operator_delete((void *)local_58._0_8_);\n                    }" { (expression_statement "operator_delete((void *)local_58._0_8_);" (call_expression "operator_delete((void *)local_58._0_8_)" identifier (argument_list "((void *)local_58._0_8_)" ( (cast_expression "(void *)local_58._0_8_" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_58._0_8_" identifier . field_identifier)) ))) ;) }) (call_expression "pcVar18 = s;\n                    if (cVar16.\n                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>\n                        ._M_cur == (__node_type *)0x0)" (assignment_expression "pcVar18 = s" identifier = identifier) (ERROR ";\n                    if" ; if) (argument_list "(cVar16.\n                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>\n                        ._M_cur == (__node_type *)0x0)" ( (binary_expression "cVar16.\n                        super__Node_iterator_base<std::__cxx11::basic_string<char" (binary_expression "cVar16.\n                        super__Node_iterator_base<std" (field_expression "cVar16.\n                        super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_>,_true>\n                        ._M_cur == (__node_type *)0x0" (field_expression "allocator<char>_>,_true>\n                        ._M_cur" (binary_expression "allocator<char>_>,_true" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) == (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) identifier identifier ; } (binary_expression "Stringpool_template<char>::add(pool,s,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(pool,s,true,(Key *)0x0)" identifier (argument_list "(pool,s,true,(Key *)0x0)" ( identifier , identifier , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ; (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ; goto identifier ; } (call_expression "uVar11 = *puVar19;\n                if ((uVar11 != 0) && (uVar11 != 0xfffffffe))" (assignment_expression "uVar11 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) (ERROR ";\n                if" ; if) (argument_list "((uVar11 != 0) && (uVar11 != 0xfffffffe))" ( (binary_expression "(uVar11 != 0) && (uVar11 != 0xfffffffe)" (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar11 != 0xfffffffe)" ( (binary_expression "uVar11 != 0xfffffffe" identifier != number_literal) ))) ))) identifier (call_expression "LAB_001e5609;\n                if (uVar11 == 0xfffffffe)" identifier (ERROR ";\n                if" ; if) (argument_list "(uVar11 == 0xfffffffe)" ( (binary_expression "uVar11 == 0xfffffffe" identifier == number_literal) ))) identifier identifier ;) (assignment_expression "this_02 = (Sized_relobj_file<32,_false> *)parameters->target_;\n                if (this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_ = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file((Object *)this_03)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)parameters->target_;\n                if (this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_ = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file((Object *)this_03)" ( (ERROR "Sized_relobj_file<32,_false> *)parameters->target_;\n                if" (comma_expression "Sized_relobj_file<32,_false> *)parameters->target_" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)parameters->target_" identifier > (pointer_expression "*)parameters->target_" * (ERROR ")" )) (field_expression "parameters->target_" identifier -> field_identifier)))) ; if) (binary_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_ = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file((Object *)this_03" (assignment_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_ = local_80" (field_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c;\n      this->output_local_dynsym_count_" (assignment_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_ = local_7c" (field_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx);\n      }\n      this->output_local_symbol_count_" (parenthesized_expression "(this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else {\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx)" ( (ERROR "this_02 == (Sized_relobj_file<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar18 = s;\n                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                uVar11 = *puVar19;\n                s = pcVar18;\njoined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff;\n            }\n          }\n          else" (binary_expression "this_02 == (Sized_relobj_file<32,_false> *)0x0)" identifier == (parenthesized_expression "(Sized_relobj_file<32,_false> *)0x0)" ( (comma_expression "Sized_relobj_file<32,_false> *)0x0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) }) (assignment_expression "pcVar18 = s" identifier = identifier) ; (call_expression "iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s);\n                if ((char)iVar12 == '\0')" (assignment_expression "iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s)" identifier = (call_expression "(*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])(this_02,s)" (parenthesized_expression "(*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10])" ( (pointer_expression "*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10]" * (cast_expression "(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object[10]" (field_expression "(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object._vptr_Object" (field_expression "(this_02->super_Sized_relobj<32,_false>).super_Relobj.\n                                   super_Object" (field_expression "(this_02->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this_02->super_Sized_relobj<32,_false>)" ( (comma_expression "this_02->super_Sized_relobj<32,_false" (binary_expression "this_02->super_Sized_relobj<32" (field_expression "this_02->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]))) )) (argument_list "(this_02,s)" ( identifier , identifier )))) (ERROR ";\n                if" ; if) (argument_list "((char)iVar12 == '\0')" ( (binary_expression "(char)iVar12 == '\0'" (cast_expression "(char)iVar12" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) identifier identifier ; identifier : (assignment_expression "uVar11 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ; (assignment_expression "s = pcVar18" identifier = identifier) ; (binary_expression "joined_r0x001e54a2:\n              } while (uVar11 != 0);\n              *puVar19 = 0xffffffff" (call_expression "joined_r0x001e54a2:\n              } while (uVar11 != 0)" identifier (ERROR ":\n              } while" : } while) (argument_list "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) ))) (ERROR ";" ;) * (assignment_expression "puVar19 = 0xffffffff" identifier = number_literal)) ; } } else) (compound_statement "{\n            if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }\n            if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *puVar19 = 0xffffffff;\n            if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" { (if_statement "if (((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }" if (parenthesized_expression "(((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0'))))" ( (binary_expression "((puVar14[7] & 0xf) != 3) &&\n               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))" (parenthesized_expression "((puVar14[7] & 0xf) != 3)" ( (binary_expression "(puVar14[7] & 0xf) != 3" (parenthesized_expression "(puVar14[7] & 0xf)" ( (binary_expression "puVar14[7] & 0xf" (subscript_expression "puVar14[7]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))" ( (parenthesized_expression "(p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0'))" ( (comma_expression "p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')" (assignment_expression "p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40]" identifier = (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) , (binary_expression "p_Var6 == do_adjust_local_symbol ||\n                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')" (binary_expression "p_Var6 == do_adjust_local_symbol" identifier == identifier) || (parenthesized_expression "(iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')" ( (comma_expression "iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0'" (assignment_expression "iVar12 = (*p_Var6)(this,puVar19)" identifier = (call_expression "(*p_Var6)(this,puVar19)" (parenthesized_expression "(*p_Var6)" ( (pointer_expression "*p_Var6" * identifier) )) (argument_list "(this,puVar19)" ( identifier , identifier )))) , (binary_expression "(char)iVar12 != '\0'" (cast_expression "(char)iVar12" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence '))) )))) )) ))) )) (compound_statement "{\n              s = (char *)strtab_size;\n              uVar5 = puVar14[4];\n              if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);\n              this_02 = local_a0;\n              if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }\n              if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }\n              if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              uVar11 = *puVar19;\n              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;\n            }" { (expression_statement "s = (char *)strtab_size;" (assignment_expression "s = (char *)strtab_size" identifier = (cast_expression "(char *)strtab_size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar5 = puVar14[4];" (assignment_expression "uVar5 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (if_statement "if (strtab_size <= uVar5) {\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(strtab_size <= uVar5)" ( (binary_expression "strtab_size <= uVar5" identifier <= identifier) )) (compound_statement "{\n                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");\n                this_02 = this;\n                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");" (assignment_expression "pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u")" identifier = (cast_expression "(char *)gettext("local symbol %u section name out of range: %u >= %u")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("local symbol %u section name out of range: %u >= %u")" identifier (argument_list "("local symbol %u section name out of range: %u >= %u")" ( (string_literal ""local symbol %u section name out of range: %u >= %u"" " string_content ") ))))) ;) (expression_statement "this_02 = this;" (assignment_expression "this_02 = this" identifier = identifier) ;) (labeled_statement "Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar18,(ulong)symndx,uVar5);" (call_expression "error((Object *)this,pcVar18,(ulong)symndx,uVar5)" identifier (argument_list "((Object *)this,pcVar18,(ulong)symndx,uVar5)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)symndx" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;)) (expression_statement "uVar11 = *puVar19;" (assignment_expression "uVar11 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (expression_statement "s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5);" (assignment_expression "s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5)" identifier = (cast_expression "(char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5)" ( (binary_expression "(long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object + (ulong)uVar5" (cast_expression "(long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object" & (field_expression "(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object._vptr_Object" (field_expression "(local_a0->super_Sized_relobj<32,_false>).super_Relobj.\n                                  super_Object" (field_expression "(local_a0->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(local_a0->super_Sized_relobj<32,_false>)" ( (comma_expression "local_a0->super_Sized_relobj<32,_false" (binary_expression "local_a0->super_Sized_relobj<32" (field_expression "local_a0->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) + (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "this_02 = local_a0;" (assignment_expression "this_02 = local_a0" identifier = identifier) ;) (if_statement "if (puVar19[1] != 0xffffffff) {\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }" if (parenthesized_expression "(puVar19[1] != 0xffffffff)" ( (binary_expression "puVar19[1] != 0xffffffff" (subscript_expression "puVar19[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                this_02 = (Sized_relobj_file<32,_false> *)dynpool;\n                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);\n                local_80 = local_80 + 1;\n              }" { (expression_statement "this_02 = (Sized_relobj_file<32,_false> *)dynpool;" (assignment_expression "this_02 = (Sized_relobj_file<32,_false> *)dynpool" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)dynpool" ( (comma_expression "Sized_relobj_file<32,_false> *)dynpool" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)dynpool" identifier > (pointer_expression "*)dynpool" * (ERROR ")" )) identifier))) ))) ;) (expression_statement "Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);" (binary_expression "Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(dynpool,s,true,(Key *)0x0)" identifier (argument_list "(dynpool,s,true,(Key *)0x0)" ( identifier , identifier , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar2 != false) {\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(bVar2 != false)" ( (binary_expression "bVar2 != false" identifier != false) )) (compound_statement "{\n                uVar11 = *puVar19;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "uVar11 = *puVar19;" (assignment_expression "uVar11 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (if_statement "if (DVar4 != DISCARD_ALL) {\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" if (parenthesized_expression "(DVar4 != DISCARD_ALL)" ( (binary_expression "DVar4 != DISCARD_ALL" identifier != identifier) )) (compound_statement "{\n                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;\n                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;\n                if (cVar20 == '\0') goto LAB_001e533f;\n                if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" { (if_statement "if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;" if (parenthesized_expression "(DVar4 == DISCARD_LOCALS)" ( (binary_expression "DVar4 == DISCARD_LOCALS" identifier == identifier) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (if_statement "if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;" if (parenthesized_expression "(DVar4 != DISCARD_SEC_MERGE)" ( (binary_expression "DVar4 != DISCARD_SEC_MERGE" identifier != identifier) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if (cVar20 == '\0') goto LAB_001e533f;" if (parenthesized_expression "(cVar20 == '\0')" ( (binary_expression "cVar20 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff) goto LAB_001e5400;" if (parenthesized_expression "((this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff)" ( (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11] == 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n                    [uVar11]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) == number_literal) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;) })) (expression_statement "uVar11 = *puVar19;" (assignment_expression "uVar11 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (if_statement "if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "((uVar11 == 0) || (uVar11 == 0xfffffffe))" ( (binary_expression "(uVar11 == 0) || (uVar11 == 0xfffffffe)" (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar11 == 0xfffffffe)" ( (binary_expression "uVar11 == 0xfffffffe" identifier == number_literal) ))) )) (compound_statement "{\n                if (uVar11 == 0xfffffffe) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" { (if_statement "if (uVar11 == 0xfffffffe) goto LAB_001e533f;" if (parenthesized_expression "(uVar11 == 0xfffffffe)" ( (binary_expression "uVar11 == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (labeled_statement "LAB_001e5609:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")\n              ;" (call_expression "do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" identifier (argument_list "("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""may_be_discarded_from_output_symtab"" " string_content ") ))) ;)) })) (if_statement "if (*puVar19 != 0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" if (parenthesized_expression "(*puVar19 != 0)" ( (binary_expression "*puVar19 != 0" (pointer_expression "*puVar19" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "*puVar19 = 0xffffffff;" (assignment_expression "*puVar19 = 0xffffffff" (pointer_expression "*puVar19" * identifier) = number_literal) ;) (if_statement "if (puVar19[1] != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" if (parenthesized_expression "(puVar19[1] != 0xffffffff)" ( (binary_expression "puVar19[1] != 0xffffffff" (subscript_expression "puVar19[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x915,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }) (ERROR "LAB_001e518a:\n          symndx = symndx + 1;\n          lVar22 = lVar22 + 0x18;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != symndx" identifier : identifier = identifier + number_literal ; identifier = identifier + number_literal ; identifier = identifier + number_literal ; } while ( identifier != identifier) )) (ERROR ";\n      }\n      this" ; } identifier) -> field_identifier) = identifier) (ERROR ";\n      this" ; identifier) -> field_identifier) = identifier) (ERROR ";\n      return;\n    }\n  }\nLAB_001e5681:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file((Object" ; return ; } } identifier : comment identifier : : identifier ( ( identifier) * (ERROR ")" )) identifier) ))) ; })
(translation_unit "void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    \n  FUN_001d17f0();\n}\n\n" (function_definition "void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    \n  FUN_001d17f0();\n}" primitive_type (function_declarator "FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long *param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    \n  FUN_001d17f0();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined1 auVar21 [16];" type_identifier (array_declarator "auVar21 [16]" identifier [ number_literal ]) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (if_statement "if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == -1)" ( (binary_expression "*(int *)((long)param_1 + 0x11c) == -1" (pointer_expression "*(int *)((long)param_1 + 0x11c)" * (cast_expression "(int *)((long)param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x11c)" ( (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" { (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8c2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (if_statement "if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == 0)" ( (binary_expression "*(int *)((long)param_1 + 0x11c) == 0" (pointer_expression "*(int *)((long)param_1 + 0x11c)" * (cast_expression "(int *)((long)param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x11c)" ( (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "plVar6 = param_1 + 0x1f;" (assignment_expression "plVar6 = param_1 + 0x1f" identifier = (binary_expression "param_1 + 0x1f" identifier + number_literal)) ;) (expression_statement "uVar11 = FUN_001db8a0(plVar6);" (assignment_expression "uVar11 = FUN_001db8a0(plVar6)" identifier = (call_expression "FUN_001db8a0(plVar6)" identifier (argument_list "(plVar6)" ( identifier )))) ;) (if_statement "if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" { (expression_statement "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);" (assignment_expression "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" if (parenthesized_expression "(*(int *)(lVar12 + 4) != 2)" ( (binary_expression "*(int *)(lVar12 + 4) != 2" (pointer_expression "*(int *)(lVar12 + 4)" * (cast_expression "(int *)(lVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 4)" ( (binary_expression "lVar12 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" { (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8cd,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (expression_statement "uVar2 = *(uint *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x24)" identifier = (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" if (parenthesized_expression "(uVar2 != *(uint *)(lVar12 + 0x1c))" ( (binary_expression "uVar2 != *(uint *)(lVar12 + 0x1c)" identifier != (pointer_expression "*(uint *)(lVar12 + 0x1c)" * (cast_expression "(uint *)(lVar12 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x1c)" ( (binary_expression "lVar12 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" { (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x8d2,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) (if_statement "if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" if (parenthesized_expression "(param_1[5] != 0)" ( (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" { (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);" (assignment_expression "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(lVar12 + 0x10)" * (cast_expression "(undefined4 *)(lVar12 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) )))) , (binary_expression "uVar2 << 4" identifier << number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(lVar12 + 0x18);" (assignment_expression "uVar20 = *(uint *)(lVar12 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar12 + 0x18)" * (cast_expression "(uint *)(lVar12 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x18)" ( (binary_expression "lVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" if (parenthesized_expression "(0xfeff < uVar20)" ( (binary_expression "0xfeff < uVar20" number_literal < identifier) )) (compound_statement "{\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" { (expression_statement "FUN_001da530(plVar6);" (call_expression "FUN_001da530(plVar6)" identifier (argument_list "(plVar6)" ( identifier ))) ;) (expression_statement "uVar20 = uVar20 + (int)param_1[0x22];" (assignment_expression "uVar20 = uVar20 + (int)param_1[0x22]" identifier = (binary_expression "uVar20 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" if (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001dbac0)" ( (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001dbac0" (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }" { (expression_statement "auVar21 = FUN_001dba20(plVar6,uVar20);" (assignment_expression "auVar21 = FUN_001dba20(plVar6,uVar20)" identifier = (call_expression "FUN_001dba20(plVar6,uVar20)" identifier (argument_list "(plVar6,uVar20)" ( identifier , identifier )))) ;) (expression_statement "local_60 = auVar21._8_8_;" (assignment_expression "local_60 = auVar21._8_8_" identifier = (field_expression "auVar21._8_8_" identifier . field_identifier)) ;) (expression_statement "local_a0 = 0x393c8d;" (assignment_expression "local_a0 = 0x393c8d" identifier = number_literal) ;) (if_statement "if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" if (parenthesized_expression "(local_60 != (char *)0x0)" ( (binary_expression "local_60 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" { (if_statement "if (param_1[5] == 0) goto LAB_001e5681;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e5681;" goto statement_identifier ;)) (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);" (assignment_expression "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (field_expression "auVar21._0_8_" identifier . field_identifier) , identifier )))) ;) })) }) (else_clause "else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" else (compound_statement "{\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" { (expression_statement "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);" (assignment_expression "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" identifier = (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar20,&local_60,1)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) , number_literal )))) ;) }))) (expression_statement "uVar20 = *(uint *)(param_1 + 7);" (assignment_expression "uVar20 = *(uint *)(param_1 + 7)" identifier = (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(lVar12 == 0)" ( (binary_expression "lVar12 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" { (labeled_statement "LAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "cVar1 = *(char *)(lVar12 + 0x54f9);" (assignment_expression "cVar1 = *(char *)(lVar12 + 0x54f9)" identifier = (pointer_expression "*(char *)(lVar12 + 0x54f9)" * (cast_expression "(char *)(lVar12 + 0x54f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x54f9)" ( (binary_expression "lVar12 + 0x54f9" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(lVar12 + 0x92a8);" (assignment_expression "iVar3 = *(int *)(lVar12 + 0x92a8)" identifier = (pointer_expression "*(int *)(lVar12 + 0x92a8)" * (cast_expression "(int *)(lVar12 + 0x92a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x92a8)" ( (binary_expression "lVar12 + 0x92a8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n        local_80 = 0;\n        local_7c = 0;\n      }" { (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) }) (else_clause "else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" else (compound_statement "{\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" { (expression_statement "lVar12 = 0x18;" (assignment_expression "lVar12 = 0x18" identifier = number_literal) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);" do (compound_statement "{\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        }" { (expression_statement "piVar18 = (int *)(param_1[0x2c] + lVar12);" (assignment_expression "piVar18 = (int *)(param_1[0x2c] + lVar12)" identifier = (cast_expression "(int *)(param_1[0x2c] + lVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x2c] + lVar12)" ( (binary_expression "param_1[0x2c] + lVar12" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);" (assignment_expression "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((long)puVar13 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((long)puVar13 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 0x1e)" ( (binary_expression "(long)puVar13 + 0x1e" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" if (parenthesized_expression "(uVar10 < 0xff00)" ( (binary_expression "uVar10 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }" { (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" statement_identifier : (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (binary_expression "piVar18[2] & 0xf8000000U | uVar10" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" identifier [ number_literal ]) & number_literal) | identifier)) ;)) }) (else_clause "else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" else (compound_statement "{\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" { (expression_statement "cVar9 = '\0';" (assignment_expression "cVar9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (uVar10 != 0xffff) goto LAB_001e508f;" if (parenthesized_expression "(uVar10 != 0xffff)" ( (binary_expression "uVar10 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_001e508f;" goto statement_identifier ;)) (expression_statement "lVar15 = param_1[8];" (assignment_expression "lVar15 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (if_statement "if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" { (expression_statement "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);" (assignment_expression "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0xd8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xd8))" ( (pointer_expression "**(code **)(*param_1 + 0xd8)" * (pointer_expression "*(code **)(*param_1 + 0xd8)" * (cast_expression "(code **)(*param_1 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xd8)" ( (binary_expression "*param_1 + 0xd8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "param_1[8] = lVar15;" (assignment_expression "param_1[8] = lVar15" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);" (assignment_expression "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19)" identifier = (call_expression "FUN_001d1ac0(lVar15,param_1,uVar19)" identifier (argument_list "(lVar15,param_1,uVar19)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (binary_expression "piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" identifier [ number_literal ]) & number_literal) | (binary_expression "uVar10 & 0x7ffffff" identifier & number_literal))) ;) (if_statement "if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" if (parenthesized_expression "((uVar10 & 0x7ffffff) != uVar10)" ( (binary_expression "(uVar10 & 0x7ffffff) != uVar10" (parenthesized_expression "(uVar10 & 0x7ffffff)" ( (binary_expression "uVar10 & 0x7ffffff" identifier & number_literal) )) != identifier) )) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" { (expression_statement "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");" (call_expression "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx")" identifier (argument_list "("../../gold/object.h",0x755,"set_input_shndx")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_input_shndx"" " string_content ") ))) ;) })) (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';" (assignment_expression "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" identifier = (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "cVar9 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar16 = (byte)puVar13[7] & 0xf;" (assignment_expression "bVar16 = (byte)puVar13[7] & 0xf" identifier = (binary_expression "(byte)puVar13[7] & 0xf" (cast_expression "(byte)puVar13[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[7]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 3)" ( (binary_expression "bVar16 == 3" identifier == number_literal) )) (compound_statement "{\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }" { (if_statement "if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" { (expression_statement "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");" (call_expression "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol")" identifier (argument_list "("../../gold/object.h",0x76a,"set_is_section_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_is_section_symbol"" " string_content ") ))) ;) })) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" else (if_statement "if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 6)" ( (binary_expression "bVar16 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }" { (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" else (if_statement "if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" if (parenthesized_expression "(bVar16 == 10)" ( (binary_expression "bVar16 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" { (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" * (cast_expression "(byte *)((long)piVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar18 + 0xb)" ( (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar7 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "piVar18[4] = puVar13[5];" (assignment_expression "piVar18[4] = puVar13[5]" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = (subscript_expression "puVar13[5]" identifier [ number_literal ])) ;) (if_statement "if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" if (parenthesized_expression "(((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))))" ( (binary_expression "((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" (parenthesized_expression "((uVar10 < uVar20) && (cVar9 != '\0'))" ( (binary_expression "(uVar10 < uVar20) && (cVar9 != '\0')" (parenthesized_expression "(uVar10 < uVar20)" ( (binary_expression "uVar10 < uVar20" identifier < identifier) )) && (parenthesized_expression "(cVar9 != '\0')" ( (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" ( (parenthesized_expression "(lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))" ( (comma_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (assignment_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8)" identifier = (pointer_expression "*(long *)(param_1[10] + (ulong)uVar10 * 8)" * (cast_expression "(long *)(param_1[10] + (ulong)uVar10 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + (ulong)uVar10 * 8)" ( (binary_expression "param_1[10] + (ulong)uVar10 * 8" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 8" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) , (binary_expression "lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (binary_expression "lVar15 == 0" identifier == number_literal) || (parenthesized_expression "((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" ( (parenthesized_expression "(*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))" ( (binary_expression "*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" (binary_expression "*(int *)(lVar15 + 0x78) == 0xf" (pointer_expression "*(int *)(lVar15 + 0x78)" * (cast_expression "(int *)(lVar15 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x78)" ( (binary_expression "lVar15 + 0x78" identifier + number_literal) )))) == number_literal) && (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" ( (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" * (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" ( (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }" { (if_statement "if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (compound_statement "{\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }" { (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (if_statement "if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" { (expression_statement "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x90d,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }) (else_clause "else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" else (compound_statement "{\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" { (do_statement "do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);" do (compound_statement "{\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              }" { (expression_statement "FUN_001d1870();" (call_expression "FUN_001d1870()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" statement_identifier : (if_statement "if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" if (parenthesized_expression "(((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1))" ( (binary_expression "((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)" (parenthesized_expression "((puVar13[7] & 0xf) == 4)" ( (binary_expression "(puVar13[7] & 0xf) == 4" (parenthesized_expression "(puVar13[7] & 0xf)" ( (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" { (labeled_statement "LAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" statement_identifier : (expression_statement "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) ))))) ;)) (if_statement "if (lVar15 == 0) goto LAB_001e5621;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e5621;" goto statement_identifier ;)) (if_statement "if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" if (parenthesized_expression "(*(long *)(lVar15 + 0x9250) != 0)" ( (binary_expression "*(long *)(lVar15 + 0x9250) != 0" (pointer_expression "*(long *)(lVar15 + 0x9250)" * (cast_expression "(long *)(lVar15 + 0x9250)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x9250)" ( (binary_expression "lVar15 + 0x9250" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" { (expression_statement "pcVar17 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar17 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58[0] = local_48;" (assignment_expression "local_58[0] = local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" { (expression_statement "sVar14 = strlen(__s);" (assignment_expression "sVar14 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar17 = __s + sVar14;" (assignment_expression "pcVar17 = __s + sVar14" identifier = (binary_expression "__s + sVar14" identifier + identifier)) ;) })) (expression_statement "FUN_00174550(local_58,__s,pcVar17);" (call_expression "FUN_00174550(local_58,__s,pcVar17)" identifier (argument_list "(local_58,__s,pcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);" (assignment_expression "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58)" identifier = (call_expression "FUN_0017cef0(lVar15 + 0x9238,local_58)" identifier (argument_list "(lVar15 + 0x9238,local_58)" ( (binary_expression "lVar15 + 0x9238" identifier + number_literal) , identifier )))) ;) (if_statement "if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }" if (parenthesized_expression "(local_58[0] != local_48)" ( (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                      FUN_002f1e60();\n                    }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" identifier = identifier) ;) (if_statement "if (lVar15 == 0) goto LAB_001e53eb;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e53eb;" goto statement_identifier ;)) })) (expression_statement "FUN_002820b0(param_2,__s,1,0);" (call_expression "FUN_002820b0(param_2,__s,1,0)" identifier (argument_list "(param_2,__s,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_001e518a;" goto statement_identifier ;) }))) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;" if (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" ( (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 != -2)" ( (binary_expression "iVar5 != -2" identifier != number_literal) ))) )) (goto_statement "goto LAB_001e5609;" goto statement_identifier ;)) (if_statement "if (iVar5 == -2) goto LAB_001e533f;" if (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (expression_statement "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);" (assignment_expression "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0045c708 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0045c708 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" ( (binary_expression "PTR_DAT_0045c708 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" if (parenthesized_expression "(plVar6 == (long *)0x0)" ( (binary_expression "plVar6 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" { (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" identifier = identifier) ;) (expression_statement "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);" (assignment_expression "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s)" identifier = (call_expression "(**(code **)(*plVar6 + 0x50))(plVar6,__s)" (parenthesized_expression "(**(code **)(*plVar6 + 0x50))" ( (pointer_expression "**(code **)(*plVar6 + 0x50)" * (pointer_expression "*(code **)(*plVar6 + 0x50)" * (cast_expression "(code **)(*plVar6 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x50)" ( (binary_expression "*plVar6 + 0x50" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,__s)" ( identifier , identifier )))) ;) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (labeled_statement "LAB_001e53eb:\n                iVar5 = *piVar18;" statement_identifier : (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;)) (expression_statement "__s = pcVar17;" (assignment_expression "__s = pcVar17" identifier = identifier) ;) (labeled_statement "joined_r0x001e54a2:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) }))) }) (else_clause "else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" else (compound_statement "{\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" { (if_statement "if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" if (parenthesized_expression "(((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))))" ( (binary_expression "((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" (parenthesized_expression "((puVar13[7] & 0xf) != 3)" ( (binary_expression "(puVar13[7] & 0xf) != 3" (parenthesized_expression "(puVar13[7] & 0xf)" ( (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" ( (parenthesized_expression "(*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))" ( (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0" (pointer_expression "*(code **)(*param_1 + 0x200)" * (cast_expression "(code **)(*param_1 + 0x200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x200)" ( (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) || (parenthesized_expression "(cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" ( (comma_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'" (assignment_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18)" identifier = (call_expression "(**(code **)(*param_1 + 0x200))(param_1,piVar18)" (parenthesized_expression "(**(code **)(*param_1 + 0x200))" ( (pointer_expression "**(code **)(*param_1 + 0x200)" * (pointer_expression "*(code **)(*param_1 + 0x200)" * (cast_expression "(code **)(*param_1 + 0x200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x200)" ( (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,piVar18)" ( identifier , identifier )))) , (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" { (expression_statement "__s = local_60;" (assignment_expression "__s = local_60" identifier = identifier) ;) (expression_statement "uVar4 = puVar13[4];" (assignment_expression "uVar4 = puVar13[4]" identifier = (subscript_expression "puVar13[4]" identifier [ number_literal ])) ;) (if_statement "if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(local_60 <= (char *)(ulong)uVar4)" ( (binary_expression "local_60 <= (char *)(ulong)uVar4" identifier <= (cast_expression "(char *)(ulong)uVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier))) )) (compound_statement "{\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "uVar11 = gettext("local symbol %u section name out of range: %u >= %u");" (assignment_expression "uVar11 = gettext("local symbol %u section name out of range: %u >= %u")" identifier = (call_expression "gettext("local symbol %u section name out of range: %u >= %u")" identifier (argument_list "("local symbol %u section name out of range: %u >= %u")" ( (string_literal ""local symbol %u section name out of range: %u >= %u"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar11,uVar19,uVar4);" (call_expression "FUN_001d19e0(param_1,uVar11,uVar19,uVar4)" identifier (argument_list "(param_1,uVar11,uVar19,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (expression_statement "__s = (char *)(ulong)uVar4 + local_a0;" (assignment_expression "__s = (char *)(ulong)uVar4 + local_a0" identifier = (binary_expression "(char *)(ulong)uVar4 + local_a0" (cast_expression "(char *)(ulong)uVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) + identifier)) ;) (if_statement "if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" { (expression_statement "FUN_002820b0(param_3,__s,1,0);" (call_expression "FUN_002820b0(param_3,__s,1,0)" identifier (argument_list "(param_3,__s,1,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" { (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" if (parenthesized_expression "(iVar3 != 3)" ( (binary_expression "iVar3 != 3" identifier != number_literal) )) (compound_statement "{\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" { (if_statement "if (iVar3 == 2) goto LAB_001e5400;" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0) goto LAB_001e533f;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;" if (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" ( (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" * (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" ( (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_001e5400;" goto statement_identifier ;)) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;) })) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" if (parenthesized_expression "((iVar5 == 0) || (iVar5 == -2))" ( (binary_expression "(iVar5 == 0) || (iVar5 == -2)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) ))) )) (compound_statement "{\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" { (if_statement "if (iVar5 == -2) goto LAB_001e533f;" if (parenthesized_expression "(iVar5 == -2)" ( (binary_expression "iVar5 == -2" identifier == number_literal) )) (goto_statement "goto LAB_001e533f;" goto statement_identifier ;)) (goto_statement "goto joined_r0x001e54a2;" goto statement_identifier ;) })) (labeled_statement "LAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" statement_identifier : (expression_statement "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" (call_expression "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" identifier (argument_list "("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""may_be_discarded_from_output_symtab"" " string_content ") ))) ;)) })) (if_statement "if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" if (parenthesized_expression "(*piVar18 != 0)" ( (binary_expression "*piVar18 != 0" (pointer_expression "*piVar18" * identifier) != number_literal) )) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" { (expression_statement "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (if_statement "if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" if (parenthesized_expression "(piVar18[1] != -1)" ( (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" { (expression_statement "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols")" identifier (argument_list "("../../gold/object.cc",0x915,"do_count_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_count_local_symbols"" " string_content ") ))) ;) })) }))) (labeled_statement "LAB_001e518a:\n          uVar19 = uVar19 + 1;" statement_identifier : (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;)) (expression_statement "lVar12 = lVar12 + 0x18;" (assignment_expression "lVar12 = lVar12 + 0x18" identifier = (binary_expression "lVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar19)" ( (binary_expression "uVar2 != uVar19" identifier != identifier) )) ;) }))) (expression_statement "*(int *)((long)param_1 + 0x124) = local_7c;" (assignment_expression "*(int *)((long)param_1 + 0x124) = local_7c" (pointer_expression "*(int *)((long)param_1 + 0x124)" * (cast_expression "(int *)((long)param_1 + 0x124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x124)" ( (binary_expression "(long)param_1 + 0x124" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_1 + 0x25) = local_80;" (assignment_expression "*(int *)(param_1 + 0x25) = local_80" (pointer_expression "*(int *)(param_1 + 0x25)" * (cast_expression "(int *)(param_1 + 0x25)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x25)" ( (binary_expression "param_1 + 0x25" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) })) (labeled_statement "LAB_001e5681:\n                    \n  FUN_001d17f0();" statement_identifier : (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" identifier (argument_list "()" ( ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT << LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (field_expression IDENT . field_identifier) , IDENT )))) ;) })) }) (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 , (pointer_expression & IDENT) , LIT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (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 ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | IDENT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 { (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 )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | (binary_expression IDENT & LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) })))))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (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 (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) == LIT) ))) )) )))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (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 (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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 (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (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 (pointer_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 (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })))
(function_definition "void FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    \n  FUN_001d17f0();\n}" (primitive_type "void") (function_declarator "FUN_001e4ee0(long *param_1,undefined8 param_2,undefined8 param_3)" (identifier "FUN_001e4ee0") (parameter_list "(long *param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int iVar5;\n  long *plVar6;\n  byte bVar7;\n  char cVar8;\n  char cVar9;\n  uint uVar10;\n  undefined8 uVar11;\n  long lVar12;\n  uint *puVar13;\n  size_t sVar14;\n  long lVar15;\n  byte bVar16;\n  char *pcVar17;\n  int *piVar18;\n  char *__s;\n  uint uVar19;\n  uint uVar20;\n  undefined1 auVar21 [16];\n  long local_a0;\n  int local_80;\n  int local_7c;\n  char *local_60;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }\n  plVar6 = param_1 + 0x1f;\n  uVar11 = FUN_001db8a0(plVar6);\n  if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }\nLAB_001e5681:\n                    \n  FUN_001d17f0();\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "long *plVar6;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar6" (* "*") (identifier "plVar6")) (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "size_t sVar14;" (primitive_type "size_t") (identifier "sVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined1 auVar21 [16];" (type_identifier "undefined1") (array_declarator "auVar21 [16]" (identifier "auVar21") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "long local_a0;" (sized_type_specifier "long" (long "long")) (identifier "local_a0") (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "char *local_60;" (primitive_type "char") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined1 *local_58 [2];" (type_identifier "undefined1") (pointer_declarator "*local_58 [2]" (* "*") (array_declarator "local_58 [2]" (identifier "local_58") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_48 [24];" (type_identifier "undefined1") (array_declarator "local_48 [24]" (identifier "local_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (if_statement "if (*(int *)((long)param_1 + 0x11c) == -1) {\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" (if "if") (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == -1)" (( "(") (binary_expression "*(int *)((long)param_1 + 0x11c) == -1" (pointer_expression "*(int *)((long)param_1 + 0x11c)" (* "*") (cast_expression "(int *)((long)param_1 + 0x11c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x11c)" (( "(") (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11c")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.cc",0x8c2,"do_count_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x8c2") (, ",") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)((long)param_1 + 0x11c) == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)((long)param_1 + 0x11c) == 0)" (( "(") (binary_expression "*(int *)((long)param_1 + 0x11c) == 0" (pointer_expression "*(int *)((long)param_1 + 0x11c)" (* "*") (cast_expression "(int *)((long)param_1 + 0x11c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x11c)" (( "(") (binary_expression "(long)param_1 + 0x11c" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "plVar6 = param_1 + 0x1f;" (assignment_expression "plVar6 = param_1 + 0x1f" (identifier "plVar6") (= "=") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar11 = FUN_001db8a0(plVar6);" (assignment_expression "uVar11 = FUN_001db8a0(plVar6)" (identifier "uVar11") (= "=") (call_expression "FUN_001db8a0(plVar6)" (identifier "FUN_001db8a0") (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (param_1[5] != 0) {\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_1[5] != 0)" (( "(") (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);\n    if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    uVar2 = *(uint *)(param_1 + 0x24);\n    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }\n  }" ({ "{") (expression_statement "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);" (assignment_expression "lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" (identifier "lVar12") (= "=") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (identifier "uVar11") (, ",") (number_literal "0x28") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (*(int *)(lVar12 + 4) != 2) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" (if "if") (parenthesized_expression "(*(int *)(lVar12 + 4) != 2)" (( "(") (binary_expression "*(int *)(lVar12 + 4) != 2" (pointer_expression "*(int *)(lVar12 + 4)" (* "*") (cast_expression "(int *)(lVar12 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 4)" (( "(") (binary_expression "lVar12 + 4" (identifier "lVar12") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.cc",0x8cd,"do_count_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x8cd") (, ",") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar2 = *(uint *)(param_1 + 0x24);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x24)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (uVar2 != *(uint *)(lVar12 + 0x1c)) {\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" (if "if") (parenthesized_expression "(uVar2 != *(uint *)(lVar12 + 0x1c))" (( "(") (binary_expression "uVar2 != *(uint *)(lVar12 + 0x1c)" (identifier "uVar2") (!= "!=") (pointer_expression "*(uint *)(lVar12 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar12 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x1c)" (( "(") (binary_expression "lVar12 + 0x1c" (identifier "lVar12") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (compound_statement "{\n                    \n      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.cc",0x8d2,"do_count_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x8d2") (, ",") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[5] != 0) {\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" (if "if") (parenthesized_expression "(param_1[5] != 0)" (( "(") (binary_expression "param_1[5] != 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      __s = (char *)0x1;\n      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);\n      uVar20 = *(uint *)(lVar12 + 0x18);\n      if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }\n      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }\n      uVar20 = *(uint *)(param_1 + 7);\n      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);\n      if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }\n      cVar1 = *(char *)(lVar12 + 0x54f9);\n      iVar3 = *(int *)(lVar12 + 0x92a8);\n      if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }\n      *(int *)((long)param_1 + 0x124) = local_7c;\n      *(int *)(param_1 + 0x25) = local_80;\n      return;\n    }" ({ "{") (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" (identifier "__s") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4);" (assignment_expression "puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" (identifier "puVar13") (= "=") (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),\n                                     uVar2 << 4)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(lVar12 + 0x10)" (* "*") (cast_expression "(undefined4 *)(lVar12 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x10)" (( "(") (binary_expression "lVar12 + 0x10" (identifier "lVar12") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "uVar2 << 4" (identifier "uVar2") (<< "<<") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(uint *)(lVar12 + 0x18);" (assignment_expression "uVar20 = *(uint *)(lVar12 + 0x18)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(lVar12 + 0x18)" (* "*") (cast_expression "(uint *)(lVar12 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x18)" (( "(") (binary_expression "lVar12 + 0x18" (identifier "lVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (0xfeff < uVar20) {\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" (if "if") (parenthesized_expression "(0xfeff < uVar20)" (( "(") (binary_expression "0xfeff < uVar20" (number_literal "0xfeff") (< "<") (identifier "uVar20")) () ")")) (compound_statement "{\n        FUN_001da530(plVar6);\n        uVar20 = uVar20 + (int)param_1[0x22];\n      }" ({ "{") (expression_statement "FUN_001da530(plVar6);" (call_expression "FUN_001da530(plVar6)" (identifier "FUN_001da530") (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (expression_statement "uVar20 = uVar20 + (int)param_1[0x22];" (assignment_expression "uVar20 = uVar20 + (int)param_1[0x22]" (identifier "uVar20") (= "=") (binary_expression "uVar20 + (int)param_1[0x22]" (identifier "uVar20") (+ "+") (cast_expression "(int)param_1[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }\n      else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" (if "if") (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001dbac0)" (( "(") (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001dbac0" (pointer_expression "*(code **)(*param_1 + 0x70)" (* "*") (cast_expression "(code **)(*param_1 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x70)" (( "(") (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x70")) () ")")))) (== "==") (identifier "FUN_001dbac0")) () ")")) (compound_statement "{\n        auVar21 = FUN_001dba20(plVar6,uVar20);\n        local_60 = auVar21._8_8_;\n        local_a0 = 0x393c8d;\n        if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }\n      }" ({ "{") (expression_statement "auVar21 = FUN_001dba20(plVar6,uVar20);" (assignment_expression "auVar21 = FUN_001dba20(plVar6,uVar20)" (identifier "auVar21") (= "=") (call_expression "FUN_001dba20(plVar6,uVar20)" (identifier "FUN_001dba20") (argument_list "(plVar6,uVar20)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar20") () ")")))) (; ";")) (expression_statement "local_60 = auVar21._8_8_;" (assignment_expression "local_60 = auVar21._8_8_" (identifier "local_60") (= "=") (field_expression "auVar21._8_8_" (identifier "auVar21") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "local_a0 = 0x393c8d;" (assignment_expression "local_a0 = 0x393c8d" (identifier "local_a0") (= "=") (number_literal "0x393c8d")) (; ";")) (if_statement "if (local_60 != (char *)0x0) {\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" (if "if") (parenthesized_expression "(local_60 != (char *)0x0)" (( "(") (binary_expression "local_60 != (char *)0x0" (identifier "local_60") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (param_1[5] == 0) goto LAB_001e5681;\n          __s = (char *)0x1;\n          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);\n        }" ({ "{") (if_statement "if (param_1[5] == 0) goto LAB_001e5681;" (if "if") (parenthesized_expression "(param_1[5] == 0)" (( "(") (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e5681;" (goto "goto") (statement_identifier "LAB_001e5681") (; ";"))) (expression_statement "__s = (char *)0x1;" (assignment_expression "__s = (char *)0x1" (identifier "__s") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);" (assignment_expression "local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" (identifier "local_a0") (= "=") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (field_expression "auVar21._0_8_" (identifier "auVar21") (. ".") (field_identifier "_0_8_")) (, ",") (identifier "local_60") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" (else "else") (compound_statement "{\n        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);\n      }" ({ "{") (expression_statement "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);" (assignment_expression "local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" (identifier "local_a0") (= "=") (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x70)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x70)" (* "*") (cast_expression "(code **)(*param_1 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x70)" (( "(") (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(param_1,uVar20,&local_60,1)" (( "(") (identifier "param_1") (, ",") (identifier "uVar20") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "1") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar20 = *(uint *)(param_1 + 7);" (assignment_expression "uVar20 = *(uint *)(param_1 + 7)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(param_1 + 7)" (* "*") (cast_expression "(uint *)(param_1 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar12") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar12 == 0) {\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" (if "if") (parenthesized_expression "(lVar12 == 0)" (( "(") (binary_expression "lVar12 == 0" (identifier "lVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n      }" ({ "{") (labeled_statement "LAB_001e5621:\n                    \n        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_001e5621") (: ":") (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0018ff20") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "cVar1 = *(char *)(lVar12 + 0x54f9);" (assignment_expression "cVar1 = *(char *)(lVar12 + 0x54f9)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(lVar12 + 0x54f9)" (* "*") (cast_expression "(char *)(lVar12 + 0x54f9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x54f9)" (( "(") (binary_expression "lVar12 + 0x54f9" (identifier "lVar12") (+ "+") (number_literal "0x54f9")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(lVar12 + 0x92a8);" (assignment_expression "iVar3 = *(int *)(lVar12 + 0x92a8)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(lVar12 + 0x92a8)" (* "*") (cast_expression "(int *)(lVar12 + 0x92a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x92a8)" (( "(") (binary_expression "lVar12 + 0x92a8" (identifier "lVar12") (+ "+") (number_literal "0x92a8")) () ")"))))) (; ";")) (if_statement "if (uVar2 < 2) {\n        local_80 = 0;\n        local_7c = 0;\n      }\n      else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" (if "if") (parenthesized_expression "(uVar2 < 2)" (( "(") (binary_expression "uVar2 < 2" (identifier "uVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        local_80 = 0;\n        local_7c = 0;\n      }" ({ "{") (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" (else "else") (compound_statement "{\n        lVar12 = 0x18;\n        uVar19 = 1;\n        local_80 = 0;\n        local_7c = 0;\n        do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);\n      }" ({ "{") (expression_statement "lVar12 = 0x18;" (assignment_expression "lVar12 = 0x18" (identifier "lVar12") (= "=") (number_literal "0x18")) (; ";")) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" (identifier "uVar19") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        } while (uVar2 != uVar19);" (do "do") (compound_statement "{\n          piVar18 = (int *)(param_1[0x2c] + lVar12);\n          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);\n          if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }\n          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';\n          *(byte *)((long)piVar18 + 0xb) = bVar7;\n          bVar16 = (byte)puVar13[7] & 0xf;\n          if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }\n          piVar18[4] = puVar13[5];\n          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }\nLAB_001e518a:\n          uVar19 = uVar19 + 1;\n          lVar12 = lVar12 + 0x18;\n          puVar13 = puVar13 + 4;\n        }" ({ "{") (expression_statement "piVar18 = (int *)(param_1[0x2c] + lVar12);" (assignment_expression "piVar18 = (int *)(param_1[0x2c] + lVar12)" (identifier "piVar18") (= "=") (cast_expression "(int *)(param_1[0x2c] + lVar12)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x2c] + lVar12)" (( "(") (binary_expression "param_1[0x2c] + lVar12" (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (identifier "lVar12")) () ")")))) (; ";")) (expression_statement "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);" (assignment_expression "uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e)" (identifier "uVar10") (= "=") (binary_expression "(uint)*(ushort *)((long)puVar13 + 0x1e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((long)puVar13 + 0x1e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 0x1e)" (( "(") (binary_expression "(long)puVar13 + 0x1e" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "0x1e")) () ")"))))) (; ";")) (if_statement "if (uVar10 < 0xff00) {\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }\n          else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" (if "if") (parenthesized_expression "(uVar10 < 0xff00)" (( "(") (binary_expression "uVar10 < 0xff00" (identifier "uVar10") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n            cVar9 = '\x01';\nLAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;\n          }" ({ "{") (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" (identifier "cVar9") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (labeled_statement "LAB_001e508f:\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" (statement_identifier "LAB_001e508f") (: ":") (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "piVar18[2] & 0xf8000000U | uVar10" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xf8000000U")) (| "|") (identifier "uVar10"))) (; ";"))) (} "}")) (else_clause "else {\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" (else "else") (compound_statement "{\n            cVar9 = '\0';\n            if (uVar10 != 0xffff) goto LAB_001e508f;\n            lVar15 = param_1[8];\n            if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }\n            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);\n            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;\n            if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar9 = '\x01';\n          }" ({ "{") (expression_statement "cVar9 = '\0';" (assignment_expression "cVar9 = '\0'" (identifier "cVar9") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (uVar10 != 0xffff) goto LAB_001e508f;" (if "if") (parenthesized_expression "(uVar10 != 0xffff)" (( "(") (binary_expression "uVar10 != 0xffff" (identifier "uVar10") (!= "!=") (number_literal "0xffff")) () ")")) (goto_statement "goto LAB_001e508f;" (goto "goto") (statement_identifier "LAB_001e508f") (; ";"))) (expression_statement "lVar15 = param_1[8];" (assignment_expression "lVar15 = param_1[8]" (identifier "lVar15") (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (lVar15 == 0) {\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);\n              param_1[8] = lVar15;\n            }" ({ "{") (expression_statement "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);" (assignment_expression "lVar15 = (**(code **)(*param_1 + 0xd8))(param_1)" (identifier "lVar15") (= "=") (call_expression "(**(code **)(*param_1 + 0xd8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xd8))" (( "(") (pointer_expression "**(code **)(*param_1 + 0xd8)" (* "*") (pointer_expression "*(code **)(*param_1 + 0xd8)" (* "*") (cast_expression "(code **)(*param_1 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0xd8)" (( "(") (binary_expression "*param_1 + 0xd8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "param_1[8] = lVar15;" (assignment_expression "param_1[8] = lVar15" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "lVar15")) (; ";")) (} "}"))) (expression_statement "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);" (assignment_expression "uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19)" (identifier "uVar10") (= "=") (call_expression "FUN_001d1ac0(lVar15,param_1,uVar19)" (identifier "FUN_001d1ac0") (argument_list "(lVar15,param_1,uVar19)" (( "(") (identifier "lVar15") (, ",") (identifier "param_1") (, ",") (identifier "uVar19") () ")")))) (; ";")) (expression_statement "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;" (assignment_expression "piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff" (binary_expression "piVar18[2] & 0xf8000000U" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xf8000000U")) (| "|") (binary_expression "uVar10 & 0x7ffffff" (identifier "uVar10") (& "&") (number_literal "0x7ffffff")))) (; ";")) (if_statement "if ((uVar10 & 0x7ffffff) != uVar10) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" (if "if") (parenthesized_expression "((uVar10 & 0x7ffffff) != uVar10)" (( "(") (binary_expression "(uVar10 & 0x7ffffff) != uVar10" (parenthesized_expression "(uVar10 & 0x7ffffff)" (( "(") (binary_expression "uVar10 & 0x7ffffff" (identifier "uVar10") (& "&") (number_literal "0x7ffffff")) () ")")) (!= "!=") (identifier "uVar10")) () ")")) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");\n            }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");" (call_expression "FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.h",0x755,"set_input_shndx")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x755") (, ",") (string_literal ""set_input_shndx"" (" """) (string_content "set_input_shndx") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar9 = '\x01';" (assignment_expression "cVar9 = '\x01'" (identifier "cVar9") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")))) (expression_statement "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';" (assignment_expression "bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" (identifier "bVar7") (= "=") (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b'" (binary_expression "*(byte *)((long)piVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar18 + 0xb)" (( "(") (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar18")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0xf7")) (| "|") (binary_expression "cVar9 * '\b'" (identifier "cVar9") (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))))) (; ";")) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar18 + 0xb)" (( "(") (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (identifier "bVar7")) (; ";")) (expression_statement "bVar16 = (byte)puVar13[7] & 0xf;" (assignment_expression "bVar16 = (byte)puVar13[7] & 0xf" (identifier "bVar16") (= "=") (binary_expression "(byte)puVar13[7] & 0xf" (cast_expression "(byte)puVar13[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xf"))) (; ";")) (if_statement "if (bVar16 == 3) {\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }\n          else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar16 == 3)" (( "(") (binary_expression "bVar16 == 3" (identifier "bVar16") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;\n          }" ({ "{") (if_statement "if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" (if "if") (parenthesized_expression "(piVar18[1] != -1)" (( "(") (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");" (call_expression "FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.h",0x76a,"set_is_section_symbol")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x76a") (, ",") (string_literal ""set_is_section_symbol"" (" """) (string_content "set_is_section_symbol") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar18 + 0xb)" (( "(") (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar7 | 0x10" (identifier "bVar7") (| "|") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" (else "else") (if_statement "if (bVar16 == 6) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }\n          else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar16 == 6)" (( "(") (binary_expression "bVar16 == 6" (identifier "bVar16") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;\n          }" ({ "{") (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar18 + 0xb)" (( "(") (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar7 | 0x20" (identifier "bVar7") (| "|") (number_literal "0x20"))) (; ";")) (} "}")) (else_clause "else if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" (else "else") (if_statement "if (bVar16 == 10) {\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar16 == 10)" (( "(") (binary_expression "bVar16 == 10" (identifier "bVar16") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;\n          }" ({ "{") (expression_statement "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;" (assignment_expression "*(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40" (pointer_expression "*(byte *)((long)piVar18 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar18 + 0xb)" (( "(") (binary_expression "(long)piVar18 + 0xb" (cast_expression "(long)piVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar7 | 0x40" (identifier "bVar7") (| "|") (number_literal "0x40"))) (; ";")) (} "}"))))))) (expression_statement "piVar18[4] = puVar13[5];" (assignment_expression "piVar18[4] = puVar13[5]" (subscript_expression "piVar18[4]" (identifier "piVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "puVar13[5]" (identifier "puVar13") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if (((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }\n          else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" (if "if") (parenthesized_expression "(((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))))" (( "(") (binary_expression "((uVar10 < uVar20) && (cVar9 != '\0')) &&\n             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" (parenthesized_expression "((uVar10 < uVar20) && (cVar9 != '\0'))" (( "(") (binary_expression "(uVar10 < uVar20) && (cVar9 != '\0')" (parenthesized_expression "(uVar10 < uVar20)" (( "(") (binary_expression "uVar10 < uVar20" (identifier "uVar10") (< "<") (identifier "uVar20")) () ")")) (&& "&&") (parenthesized_expression "(cVar9 != '\0')" (( "(") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))" (( "(") (parenthesized_expression "(lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))))" (( "(") (comma_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (assignment_expression "lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_1[10] + (ulong)uVar10 * 8)" (* "*") (cast_expression "(long *)(param_1[10] + (ulong)uVar10 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[10] + (ulong)uVar10 * 8)" (( "(") (binary_expression "param_1[10] + (ulong)uVar10 * 8" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(ulong)uVar10 * 8" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "lVar15 == 0 ||\n              ((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))" (( "(") (parenthesized_expression "(*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1))" (( "(") (binary_expression "*(int *)(lVar15 + 0x78) == 0xf &&\n               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" (binary_expression "*(int *)(lVar15 + 0x78) == 0xf" (pointer_expression "*(int *)(lVar15 + 0x78)" (* "*") (cast_expression "(int *)(lVar15 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x78)" (( "(") (binary_expression "lVar15 + 0x78" (identifier "lVar15") (+ "+") (number_literal "0x78")) () ")")))) (== "==") (number_literal "0xf")) (&& "&&") (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" (( "(") (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" (* "*") (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" (( "(") (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "-1")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }\n          }" ({ "{") (if_statement "if (*piVar18 == 0) {\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }\n            else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" (if "if") (parenthesized_expression "(*piVar18 == 0)" (( "(") (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *piVar18 = -1;\n              if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }\n            }" ({ "{") (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "-1")) (; ";")) (if_statement "if (piVar18[1] != -1) {\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" (if "if") (parenthesized_expression "(piVar18[1] != -1)" (( "(") (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");\n              }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.cc",0x90d,"do_count_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x90d") (, ",") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" (else "else") (compound_statement "{\n              do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);\n              *piVar18 = -1;\n            }" ({ "{") (do_statement "do {\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              } while (iVar5 != 0);" (do "do") (compound_statement "{\n                FUN_001d1870();\nLAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }\n                iVar5 = *piVar18;\n                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;\n                if (iVar5 == -2) goto LAB_001e533f;\n                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);\n                if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }\n                pcVar17 = __s;\n                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);\n                if (cVar9 == '\0') goto LAB_001e533f;\nLAB_001e53eb:\n                iVar5 = *piVar18;\n                __s = pcVar17;\njoined_r0x001e54a2:\n              }" ({ "{") (expression_statement "FUN_001d1870();" (call_expression "FUN_001d1870()" (identifier "FUN_001d1870") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001e5400:\n                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" (statement_identifier "LAB_001e5400") (: ":") (if_statement "if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" (if "if") (parenthesized_expression "(((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1))" (( "(") (binary_expression "((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)" (parenthesized_expression "((puVar13[7] & 0xf) == 4)" (( "(") (binary_expression "(puVar13[7] & 0xf) == 4" (parenthesized_expression "(puVar13[7] & 0xf)" (( "(") (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(piVar18[1] != -1)" (( "(") (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\nLAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);\n                  if (lVar15 == 0) goto LAB_001e5621;\n                  if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }\n                  FUN_002820b0(param_2,__s,1,0);\n                  local_7c = local_7c + 1;\n                  goto LAB_001e518a;\n                }" ({ "{") (labeled_statement "LAB_001e533f:\n                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" (statement_identifier "LAB_001e533f") (: ":") (expression_statement "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);" (assignment_expression "lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (if_statement "if (lVar15 == 0) goto LAB_001e5621;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e5621;" (goto "goto") (statement_identifier "LAB_001e5621") (; ";"))) (if_statement "if (*(long *)(lVar15 + 0x9250) != 0) {\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" (if "if") (parenthesized_expression "(*(long *)(lVar15 + 0x9250) != 0)" (( "(") (binary_expression "*(long *)(lVar15 + 0x9250) != 0" (pointer_expression "*(long *)(lVar15 + 0x9250)" (* "*") (cast_expression "(long *)(lVar15 + 0x9250)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x9250)" (( "(") (binary_expression "lVar15 + 0x9250" (identifier "lVar15") (+ "+") (number_literal "0x9250")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar17 = (char *)0xffffffffffffffff;\n                    local_58[0] = local_48;\n                    if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }\n                    FUN_00174550(local_58,__s,pcVar17);\n                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);\n                    if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }\n                    pcVar17 = __s;\n                    if (lVar15 == 0) goto LAB_001e53eb;\n                  }" ({ "{") (expression_statement "pcVar17 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar17 = (char *)0xffffffffffffffff" (identifier "pcVar17") (= "=") (cast_expression "(char *)0xffffffffffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (expression_statement "local_58[0] = local_48;" (assignment_expression "local_58[0] = local_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_48")) (; ";")) (if_statement "if (__s != (char *)0x0) {\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" (if "if") (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      sVar14 = strlen(__s);\n                      pcVar17 = __s + sVar14;\n                    }" ({ "{") (expression_statement "sVar14 = strlen(__s);" (assignment_expression "sVar14 = strlen(__s)" (identifier "sVar14") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pcVar17 = __s + sVar14;" (assignment_expression "pcVar17 = __s + sVar14" (identifier "pcVar17") (= "=") (binary_expression "__s + sVar14" (identifier "__s") (+ "+") (identifier "sVar14"))) (; ";")) (} "}"))) (expression_statement "FUN_00174550(local_58,__s,pcVar17);" (call_expression "FUN_00174550(local_58,__s,pcVar17)" (identifier "FUN_00174550") (argument_list "(local_58,__s,pcVar17)" (( "(") (identifier "local_58") (, ",") (identifier "__s") (, ",") (identifier "pcVar17") () ")"))) (; ";")) (expression_statement "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);" (assignment_expression "lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58)" (identifier "lVar15") (= "=") (call_expression "FUN_0017cef0(lVar15 + 0x9238,local_58)" (identifier "FUN_0017cef0") (argument_list "(lVar15 + 0x9238,local_58)" (( "(") (binary_expression "lVar15 + 0x9238" (identifier "lVar15") (+ "+") (number_literal "0x9238")) (, ",") (identifier "local_58") () ")")))) (; ";")) (if_statement "if (local_58[0] != local_48) {\n                      FUN_002f1e60();\n                    }" (if "if") (parenthesized_expression "(local_58[0] != local_48)" (( "(") (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n                      FUN_002f1e60();\n                    }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" (identifier "pcVar17") (= "=") (identifier "__s")) (; ";")) (if_statement "if (lVar15 == 0) goto LAB_001e53eb;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e53eb;" (goto "goto") (statement_identifier "LAB_001e53eb") (; ";"))) (} "}"))) (expression_statement "FUN_002820b0(param_2,__s,1,0);" (call_expression "FUN_002820b0(param_2,__s,1,0)" (identifier "FUN_002820b0") (argument_list "(param_2,__s,1,0)" (( "(") (identifier "param_2") (, ",") (identifier "__s") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" (identifier "local_7c") (= "=") (binary_expression "local_7c + 1" (identifier "local_7c") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_001e518a;" (goto "goto") (statement_identifier "LAB_001e518a") (; ";")) (} "}")))) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" (identifier "iVar5") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;" (if "if") (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" (( "(") (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 != -2)" (( "(") (binary_expression "iVar5 != -2" (identifier "iVar5") (!= "!=") (number_literal "-2")) () ")"))) () ")")) (goto_statement "goto LAB_001e5609;" (goto "goto") (statement_identifier "LAB_001e5609") (; ";"))) (if_statement "if (iVar5 == -2) goto LAB_001e533f;" (if "if") (parenthesized_expression "(iVar5 == -2)" (( "(") (binary_expression "iVar5 == -2" (identifier "iVar5") (== "==") (number_literal "-2")) () ")")) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";"))) (expression_statement "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);" (assignment_expression "plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18)" (identifier "plVar6") (= "=") (pointer_expression "*(long **)(PTR_DAT_0045c708 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_0045c708 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x18)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x18" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (plVar6 == (long *)0x0) {\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" (if "if") (parenthesized_expression "(plVar6 == (long *)0x0)" (( "(") (binary_expression "plVar6 == (long *)0x0" (identifier "plVar6") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");\n                }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0018ff20") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar17 = __s;" (assignment_expression "pcVar17 = __s" (identifier "pcVar17") (= "=") (identifier "__s")) (; ";")) (expression_statement "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);" (assignment_expression "cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s)" (identifier "cVar9") (= "=") (call_expression "(**(code **)(*plVar6 + 0x50))(plVar6,__s)" (parenthesized_expression "(**(code **)(*plVar6 + 0x50))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x50)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x50)" (* "*") (cast_expression "(code **)(*plVar6 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x50)" (( "(") (binary_expression "*plVar6 + 0x50" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(plVar6,__s)" (( "(") (identifier "plVar6") (, ",") (identifier "__s") () ")")))) (; ";")) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" (if "if") (parenthesized_expression "(cVar9 == '\0')" (( "(") (binary_expression "cVar9 == '\0'" (identifier "cVar9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";"))) (labeled_statement "LAB_001e53eb:\n                iVar5 = *piVar18;" (statement_identifier "LAB_001e53eb") (: ":") (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" (identifier "iVar5") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";"))) (expression_statement "__s = pcVar17;" (assignment_expression "__s = pcVar17" (identifier "__s") (= "=") (identifier "pcVar17")) (; ";")) (labeled_statement "joined_r0x001e54a2:" (statement_identifier "joined_r0x001e54a2") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "-1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" (else "else") (compound_statement "{\n            if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }\n            if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }\n            *piVar18 = -1;\n            if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }\n          }" ({ "{") (if_statement "if (((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" (if "if") (parenthesized_expression "(((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))))" (( "(") (binary_expression "((puVar13[7] & 0xf) != 3) &&\n               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" (parenthesized_expression "((puVar13[7] & 0xf) != 3)" (( "(") (binary_expression "(puVar13[7] & 0xf) != 3" (parenthesized_expression "(puVar13[7] & 0xf)" (( "(") (binary_expression "puVar13[7] & 0xf" (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "3")) () ")")) (&& "&&") (parenthesized_expression "((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))" (( "(") (parenthesized_expression "(*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'))" (( "(") (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||\n                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" (binary_expression "*(code **)(*param_1 + 0x200) == FUN_001d2fe0" (pointer_expression "*(code **)(*param_1 + 0x200)" (* "*") (cast_expression "(code **)(*param_1 + 0x200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x200)" (( "(") (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x200")) () ")")))) (== "==") (identifier "FUN_001d2fe0")) (|| "||") (parenthesized_expression "(cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')" (( "(") (comma_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0'" (assignment_expression "cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18)" (identifier "cVar8") (= "=") (call_expression "(**(code **)(*param_1 + 0x200))(param_1,piVar18)" (parenthesized_expression "(**(code **)(*param_1 + 0x200))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x200)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x200)" (* "*") (cast_expression "(code **)(*param_1 + 0x200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x200)" (( "(") (binary_expression "*param_1 + 0x200" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x200")) () ")"))))) () ")")) (argument_list "(param_1,piVar18)" (( "(") (identifier "param_1") (, ",") (identifier "piVar18") () ")")))) (, ",") (binary_expression "cVar8 != '\0'" (identifier "cVar8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              __s = local_60;\n              uVar4 = puVar13[4];\n              if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              __s = (char *)(ulong)uVar4 + local_a0;\n              if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }\n              if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }\n              if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }\n              iVar5 = *piVar18;\n              if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }\nLAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");\n            }" ({ "{") (expression_statement "__s = local_60;" (assignment_expression "__s = local_60" (identifier "__s") (= "=") (identifier "local_60")) (; ";")) (expression_statement "uVar4 = puVar13[4];" (assignment_expression "uVar4 = puVar13[4]" (identifier "uVar4") (= "=") (subscript_expression "puVar13[4]" (identifier "puVar13") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (local_60 <= (char *)(ulong)uVar4) {\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" (if "if") (parenthesized_expression "(local_60 <= (char *)(ulong)uVar4)" (( "(") (binary_expression "local_60 <= (char *)(ulong)uVar4" (identifier "local_60") (<= "<=") (cast_expression "(char *)(ulong)uVar4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar4")))) () ")")) (compound_statement "{\n                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");\n                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" ({ "{") (expression_statement "uVar11 = gettext("local symbol %u section name out of range: %u >= %u");" (assignment_expression "uVar11 = gettext("local symbol %u section name out of range: %u >= %u")" (identifier "uVar11") (= "=") (call_expression "gettext("local symbol %u section name out of range: %u >= %u")" (identifier "gettext") (argument_list "("local symbol %u section name out of range: %u >= %u")" (( "(") (string_literal ""local symbol %u section name out of range: %u >= %u"" (" """) (string_content "local symbol %u section name out of range: %u >= %u") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001d19e0(param_1,uVar11,uVar19,uVar4);" (call_expression "FUN_001d19e0(param_1,uVar11,uVar19,uVar4)" (identifier "FUN_001d19e0") (argument_list "(param_1,uVar11,uVar19,uVar4)" (( "(") (identifier "param_1") (, ",") (identifier "uVar11") (, ",") (identifier "uVar19") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" (identifier "iVar5") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (goto_statement "goto joined_r0x001e54a2;" (goto "goto") (statement_identifier "joined_r0x001e54a2") (; ";")) (} "}"))) (expression_statement "__s = (char *)(ulong)uVar4 + local_a0;" (assignment_expression "__s = (char *)(ulong)uVar4 + local_a0" (identifier "__s") (= "=") (binary_expression "(char *)(ulong)uVar4 + local_a0" (cast_expression "(char *)(ulong)uVar4" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar4"))) (+ "+") (identifier "local_a0"))) (; ";")) (if_statement "if (piVar18[1] != -1) {\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" (if "if") (parenthesized_expression "(piVar18[1] != -1)" (( "(") (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                FUN_002820b0(param_3,__s,1,0);\n                local_80 = local_80 + 1;\n              }" ({ "{") (expression_statement "FUN_002820b0(param_3,__s,1,0);" (call_expression "FUN_002820b0(param_3,__s,1,0)" (identifier "FUN_002820b0") (argument_list "(param_3,__s,1,0)" (( "(") (identifier "param_3") (, ",") (identifier "__s") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (cVar1 != '\0') {\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                iVar5 = *piVar18;\n                goto joined_r0x001e54a2;\n              }" ({ "{") (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" (identifier "iVar5") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (goto_statement "goto joined_r0x001e54a2;" (goto "goto") (statement_identifier "joined_r0x001e54a2") (; ";")) (} "}"))) (if_statement "if (iVar3 != 3) {\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" (if "if") (parenthesized_expression "(iVar3 != 3)" (( "(") (binary_expression "iVar3 != 3" (identifier "iVar3") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                if (iVar3 == 2) goto LAB_001e5400;\n                if (iVar3 != 0) goto LAB_001e533f;\n                if (cVar9 == '\0') goto LAB_001e533f;\n                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;\n                goto LAB_001e533f;\n              }" ({ "{") (if_statement "if (iVar3 == 2) goto LAB_001e5400;" (if "if") (parenthesized_expression "(iVar3 == 2)" (( "(") (binary_expression "iVar3 == 2" (identifier "iVar3") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_001e5400;" (goto "goto") (statement_identifier "LAB_001e5400") (; ";"))) (if_statement "if (iVar3 != 0) goto LAB_001e533f;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";"))) (if_statement "if (cVar9 == '\0') goto LAB_001e533f;" (if "if") (parenthesized_expression "(cVar9 == '\0')" (( "(") (binary_expression "cVar9 == '\0'" (identifier "cVar9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";"))) (if_statement "if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;" (if "if") (parenthesized_expression "(*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)" (( "(") (binary_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1" (pointer_expression "*(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" (* "*") (cast_expression "(int *)(param_1[0x1c] + (ulong)uVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1c] + (ulong)uVar10 * 4)" (( "(") (binary_expression "param_1[0x1c] + (ulong)uVar10 * 4" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (binary_expression "(ulong)uVar10 * 4" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001e5400;" (goto "goto") (statement_identifier "LAB_001e5400") (; ";"))) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";")) (} "}"))) (expression_statement "iVar5 = *piVar18;" (assignment_expression "iVar5 = *piVar18" (identifier "iVar5") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (if_statement "if ((iVar5 == 0) || (iVar5 == -2)) {\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" (if "if") (parenthesized_expression "((iVar5 == 0) || (iVar5 == -2))" (( "(") (binary_expression "(iVar5 == 0) || (iVar5 == -2)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar5 == -2)" (( "(") (binary_expression "iVar5 == -2" (identifier "iVar5") (== "==") (number_literal "-2")) () ")"))) () ")")) (compound_statement "{\n                if (iVar5 == -2) goto LAB_001e533f;\n                goto joined_r0x001e54a2;\n              }" ({ "{") (if_statement "if (iVar5 == -2) goto LAB_001e533f;" (if "if") (parenthesized_expression "(iVar5 == -2)" (( "(") (binary_expression "iVar5 == -2" (identifier "iVar5") (== "==") (number_literal "-2")) () ")")) (goto_statement "goto LAB_001e533f;" (goto "goto") (statement_identifier "LAB_001e533f") (; ";"))) (goto_statement "goto joined_r0x001e54a2;" (goto "goto") (statement_identifier "joined_r0x001e54a2") (; ";")) (} "}"))) (labeled_statement "LAB_001e5609:\n                    \n              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" (statement_identifier "LAB_001e5609") (: ":") (expression_statement "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");" (call_expression "FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x6f2") (, ",") (string_literal ""may_be_discarded_from_output_symtab"" (" """) (string_content "may_be_discarded_from_output_symtab") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*piVar18 != 0) {\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" (if "if") (parenthesized_expression "(*piVar18 != 0)" (( "(") (binary_expression "*piVar18 != 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n            }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x716") (, ",") (string_literal ""set_no_output_symtab_entry"" (" """) (string_content "set_no_output_symtab_entry") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar18 = -1;" (assignment_expression "*piVar18 = -1" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "-1")) (; ";")) (if_statement "if (piVar18[1] != -1) {\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" (if "if") (parenthesized_expression "(piVar18[1] != -1)" (( "(") (binary_expression "piVar18[1] != -1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");\n            }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");" (call_expression "FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols")" (identifier "FUN_0018ff20") (argument_list "("../../gold/object.cc",0x915,"do_count_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x915") (, ",") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_001e518a:\n          uVar19 = uVar19 + 1;" (statement_identifier "LAB_001e518a") (: ":") (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar19 + 1" (identifier "uVar19") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "lVar12 = lVar12 + 0x18;" (assignment_expression "lVar12 = lVar12 + 0x18" (identifier "lVar12") (= "=") (binary_expression "lVar12 + 0x18" (identifier "lVar12") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 4" (identifier "puVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar2 != uVar19)" (( "(") (binary_expression "uVar2 != uVar19" (identifier "uVar2") (!= "!=") (identifier "uVar19")) () ")")) (; ";")) (} "}")))) (expression_statement "*(int *)((long)param_1 + 0x124) = local_7c;" (assignment_expression "*(int *)((long)param_1 + 0x124) = local_7c" (pointer_expression "*(int *)((long)param_1 + 0x124)" (* "*") (cast_expression "(int *)((long)param_1 + 0x124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x124)" (( "(") (binary_expression "(long)param_1 + 0x124" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x124")) () ")")))) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "*(int *)(param_1 + 0x25) = local_80;" (assignment_expression "*(int *)(param_1 + 0x25) = local_80" (pointer_expression "*(int *)(param_1 + 0x25)" (* "*") (cast_expression "(int *)(param_1 + 0x25)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x25)" (( "(") (binary_expression "param_1 + 0x25" (identifier "param_1") (+ "+") (number_literal "0x25")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001e5681:\n                    \n  FUN_001d17f0();" (statement_identifier "LAB_001e5681") (: ":") (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" (identifier "FUN_001d17f0") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_count_local_symbols(Sized_relobj_file<32,_false> * this,
   Stringpool * pool, Stringpool * dynpool) */

void __thiscall
gold::Sized_relobj_file<32,_false>::do_count_local_symbols
          (Sized_relobj_file<32,_false> *this,Stringpool *pool,Stringpool *dynpool)

{
  Sized_relobj_file<32,_false> *pSVar1;
  bool bVar2;
  uint uVar3;
  Discard_locals DVar4;
  uint uVar5;
  _func_int_varargs *p_Var6;
  General_options *pGVar7;
  Output_section *pOVar8;
  Input_file *pIVar9;
  byte bVar10;
  uint uVar11;
  int iVar12;
  off_t start;
  uchar *puVar13;
  uint *puVar14;
  size_t sVar15;
  const_iterator cVar16;
  Xindex *this_00;
  undefined4 extraout_var_00;
  byte bVar17;
  char *pcVar18;
  uint *puVar19;
  Input_file *this_01;
  Sized_relobj_file<32,_false> *this_02;
  Input_file *this_03;
  char *s;
  char cVar20;
  uint symndx;
  uint uVar21;
  long lVar22;
  Location LVar23;
  Sized_relobj_file<32,_false> *local_a0;
  uint local_80;
  uint local_7c;
  section_size_type strtab_size;
  undefined1 local_58 [40];
  undefined4 extraout_var;
  
  uVar3 = this->symtab_shndx_;
  if (uVar3 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (uVar3 == 0) {
    return;
  }
  this_01 = (Input_file *)&this->elf_file_;
  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset
                    ((Elf_file<32,_false,_gold::Object> *)this_01,uVar3);
  this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (this_03 != (Input_file *)0x0) {
    puVar13 = File_read::get_view(&this_03->file_,
                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                  offset_,start,0x28,true,true);
    if (*(int *)(puVar13 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    uVar3 = this->local_symbol_count_;
    if (uVar3 != *(uint *)(puVar13 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    this_03 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
    if (this_03 != (Input_file *)0x0) {
      s = (char *)0x1;
      puVar14 = (uint *)File_read::get_view(&this_03->file_,
                                            (this->super_Sized_relobj<32,_false>).super_Relobj.
                                            super_Object.offset_,(ulong)*(uint *)(puVar13 + 0x10),
                                            (ulong)(uVar3 << 4),true,true);
      uVar21 = *(uint *)(puVar13 + 0x18);
      if (0xfeff < uVar21) {
        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum
                  ((Elf_file<32,_false,_gold::Object> *)this_01);
        uVar21 = uVar21 + (this->elf_file_).large_shndx_offset_;
      }
      p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];
      if (p_Var6 == do_section_contents) {
        LVar23 = elfcpp::Elf_file<32,_false,_gold::Object>::section_contents
                           ((Elf_file<32,_false,_gold::Object> *)this_01,uVar21);
        strtab_size = LVar23.data_size;
        local_a0 = (Sized_relobj_file<32,_false> *)
                   ((long)&Sized_relobj_file<64,true>::
                           do_section_contents(unsigned_int,unsigned_long*,bool)::empty + 3);
        if (strtab_size != 0) {
          pIVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
          this_03 = this_01;
          if (pIVar9 == (Input_file *)0x0) goto LAB_001e5681;
          s = (char *)0x1;
          local_a0 = (Sized_relobj_file<32,_false> *)
                     File_read::get_view(&pIVar9->file_,
                                         (this->super_Sized_relobj<32,_false>).super_Relobj.
                                         super_Object.offset_,LVar23.file_offset,strtab_size,true,
                                         true);
        }
      }
      else {
        iVar12 = (*p_Var6)(this,(ulong)uVar21,&strtab_size);
        local_a0 = (Sized_relobj_file<32,_false> *)CONCAT44(extraout_var_00,iVar12);
      }
      uVar21 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;
      pGVar7 = parameters->options_;
      if (pGVar7 == (General_options *)0x0) {
LAB_001e5621:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
      }
      bVar2 = (pGVar7->strip_all_).value;
      DVar4 = pGVar7->discard_locals_;
      if (uVar3 < 2) {
        local_80 = 0;
        local_7c = 0;
      }
      else {
        lVar22 = 0x18;
        symndx = 1;
        local_80 = 0;
        pSVar1 = (Sized_relobj_file<32,_false> *)(local_58 + 0x10);
        local_7c = 0;
        do {
          puVar19 = (uint *)((long)&((this->local_values_).
                                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                                     ._M_impl._M_start)->output_symtab_index_ + lVar22);
          uVar11 = (uint)*(ushort *)((long)puVar14 + 0x1e);
          if (uVar11 < 0xff00) {
            cVar20 = '\x01';
LAB_001e508f:
            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11;
          }
          else {
            cVar20 = '\0';
            if (uVar11 != 0xffff) goto LAB_001e508f;
            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
            if (this_00 == (Xindex *)0x0) {
              iVar12 = (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                         _vptr_Object[0x1b])(this);
              this_00 = (Xindex *)CONCAT44(extraout_var,iVar12);
              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;
            }
            uVar11 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,symndx);
            puVar19[2] = puVar19[2] & 0xf8000000 | uVar11 & 0x7ffffff;
            if ((uVar11 & 0x7ffffff) != uVar11) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar20 = '\x01';
          }
          bVar10 = *(byte *)((long)puVar19 + 0xb) & 0xf7 | cVar20 * '\b';
          *(byte *)((long)puVar19 + 0xb) = bVar10;
          bVar17 = (byte)puVar14[7] & 0xf;
          if (bVar17 == 3) {
            if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x10;
          }
          else if (bVar17 == 6) {
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x20;
          }
          else if (bVar17 == 10) {
            *(byte *)((long)puVar19 + 0xb) = bVar10 | 0x40;
          }
          puVar19[4] = puVar14[5];
          if (((uVar11 < uVar21) && (cVar20 != '\0')) &&
             ((pOVar8 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        ._M_impl._M_start[uVar11], pOVar8 == (Output_section *)0x0 ||
              ((pOVar8->order_ == ORDER_EHFRAME &&
               ((this->super_Sized_relobj<32,_false>).section_offsets_.
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
                [uVar11] == 0xffffffff)))))) {
            this_02 = (Sized_relobj_file<32,_false> *)(ulong)*puVar19;
            if (*puVar19 == 0) {
              *puVar19 = 0xffffffff;
              if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");
              }
            }
            else {
              do {
                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)this_02);
LAB_001e5400:
                if (((puVar14[7] & 0xf) == 4) || (puVar19[1] != 0xffffffff)) {
LAB_001e533f:
                  pGVar7 = parameters->options_;
                  if (pGVar7 == (General_options *)0x0) goto LAB_001e5621;
                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {
                    pcVar18 = (char *)0xffffffffffffffff;
                    local_58._0_8_ = pSVar1;
                    if (s != (char *)0x0) {
                      sVar15 = strlen(s);
                      pcVar18 = s + sVar15;
                    }
                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                    ::_M_construct<char_const*>
                              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                               local_58,s,pcVar18);
                    cVar16 = std::
                             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                             ::find((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                     *)&pGVar7->symbols_to_retain_,
                                    (basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                                     *)local_58);
                    this_02 = (Sized_relobj_file<32,_false> *)local_58._0_8_;
                    if ((Sized_relobj_file<32,_false> *)local_58._0_8_ != pSVar1) {
                      operator_delete((void *)local_58._0_8_);
                    }
                    pcVar18 = s;
                    if (cVar16.
                        super__Node_iterator_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_true>
                        ._M_cur == (__node_type *)0x0) goto LAB_001e53eb;
                  }
                  Stringpool_template<char>::add(pool,s,true,(Key *)0x0);
                  local_7c = local_7c + 1;
                  goto LAB_001e518a;
                }
                uVar11 = *puVar19;
                if ((uVar11 != 0) && (uVar11 != 0xfffffffe)) goto LAB_001e5609;
                if (uVar11 == 0xfffffffe) goto LAB_001e533f;
                this_02 = (Sized_relobj_file<32,_false> *)parameters->target_;
                if (this_02 == (Sized_relobj_file<32,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");
                }
                pcVar18 = s;
                iVar12 = (*(code *)(this_02->super_Sized_relobj<32,_false>).super_Relobj.
                                   super_Object._vptr_Object[10])(this_02,s);
                if ((char)iVar12 == '\0') goto LAB_001e533f;
LAB_001e53eb:
                uVar11 = *puVar19;
                s = pcVar18;
joined_r0x001e54a2:
              } while (uVar11 != 0);
              *puVar19 = 0xffffffff;
            }
          }
          else {
            if (((puVar14[7] & 0xf) != 3) &&
               ((p_Var6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                          _vptr_Object[0x40], p_Var6 == do_adjust_local_symbol ||
                (iVar12 = (*p_Var6)(this,puVar19), (char)iVar12 != '\0')))) {
              s = (char *)strtab_size;
              uVar5 = puVar14[4];
              if (strtab_size <= uVar5) {
                pcVar18 = (char *)gettext("local symbol %u section name out of range: %u >= %u");
                this_02 = this;
                Object::error((Object *)this,pcVar18,(ulong)symndx,uVar5);
                uVar11 = *puVar19;
                goto joined_r0x001e54a2;
              }
              s = (char *)((long)&(local_a0->super_Sized_relobj<32,_false>).super_Relobj.
                                  super_Object._vptr_Object + (ulong)uVar5);
              this_02 = local_a0;
              if (puVar19[1] != 0xffffffff) {
                this_02 = (Sized_relobj_file<32,_false> *)dynpool;
                Stringpool_template<char>::add(dynpool,s,true,(Key *)0x0);
                local_80 = local_80 + 1;
              }
              if (bVar2 != false) {
                uVar11 = *puVar19;
                goto joined_r0x001e54a2;
              }
              if (DVar4 != DISCARD_ALL) {
                if (DVar4 == DISCARD_LOCALS) goto LAB_001e5400;
                if (DVar4 != DISCARD_SEC_MERGE) goto LAB_001e533f;
                if (cVar20 == '\0') goto LAB_001e533f;
                if ((this->super_Sized_relobj<32,_false>).section_offsets_.
                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
                    [uVar11] == 0xffffffff) goto LAB_001e5400;
                goto LAB_001e533f;
              }
              uVar11 = *puVar19;
              if ((uVar11 == 0) || (uVar11 == 0xfffffffe)) {
                if (uVar11 == 0xfffffffe) goto LAB_001e533f;
                goto joined_r0x001e54a2;
              }
LAB_001e5609:
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab")
              ;
            }
            if (*puVar19 != 0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");
            }
            *puVar19 = 0xffffffff;
            if (puVar19[1] != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");
            }
          }
LAB_001e518a:
          symndx = symndx + 1;
          lVar22 = lVar22 + 0x18;
          puVar14 = puVar14 + 4;
        } while (uVar3 != symndx);
      }
      this->output_local_symbol_count_ = local_7c;
      this->output_local_dynsym_count_ = local_80;
      return;
    }
  }
LAB_001e5681:
                    /* WARNING: Subroutine does not return */
  Object::input_file((Object *)this_03);
}


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

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

{
  char cVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  int iVar5;
  long *plVar6;
  byte bVar7;
  char cVar8;
  char cVar9;
  uint uVar10;
  undefined8 uVar11;
  long lVar12;
  uint *puVar13;
  size_t sVar14;
  long lVar15;
  byte bVar16;
  char *pcVar17;
  int *piVar18;
  char *__s;
  uint uVar19;
  uint uVar20;
  undefined1 auVar21 [16];
  long local_a0;
  int local_80;
  int local_7c;
  char *local_60;
  undefined1 *local_58 [2];
  undefined1 local_48 [24];
  
  if (*(int *)((long)param_1 + 0x11c) == -1) {
                    /* WARNING: Subroutine does not return */
    FUN_0018ff20("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (*(int *)((long)param_1 + 0x11c) == 0) {
    return;
  }
  plVar6 = param_1 + 0x1f;
  uVar11 = FUN_001db8a0(plVar6);
  if (param_1[5] != 0) {
    lVar12 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar11,0x28,1,1);
    if (*(int *)(lVar12 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    uVar2 = *(uint *)(param_1 + 0x24);
    if (uVar2 != *(uint *)(lVar12 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      FUN_0018ff20("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    if (param_1[5] != 0) {
      __s = (char *)0x1;
      puVar13 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],*(undefined4 *)(lVar12 + 0x10),
                                     uVar2 << 4);
      uVar20 = *(uint *)(lVar12 + 0x18);
      if (0xfeff < uVar20) {
        FUN_001da530(plVar6);
        uVar20 = uVar20 + (int)param_1[0x22];
      }
      if (*(code **)(*param_1 + 0x70) == FUN_001dbac0) {
        auVar21 = FUN_001dba20(plVar6,uVar20);
        local_60 = auVar21._8_8_;
        local_a0 = 0x393c8d;
        if (local_60 != (char *)0x0) {
          if (param_1[5] == 0) goto LAB_001e5681;
          __s = (char *)0x1;
          local_a0 = FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar21._0_8_,local_60);
        }
      }
      else {
        local_a0 = (**(code **)(*param_1 + 0x70))(param_1,uVar20,&local_60,1);
      }
      uVar20 = *(uint *)(param_1 + 7);
      lVar12 = *(long *)(PTR_DAT_0045c708 + 0x10);
      if (lVar12 == 0) {
LAB_001e5621:
                    /* WARNING: Subroutine does not return */
        FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
      }
      cVar1 = *(char *)(lVar12 + 0x54f9);
      iVar3 = *(int *)(lVar12 + 0x92a8);
      if (uVar2 < 2) {
        local_80 = 0;
        local_7c = 0;
      }
      else {
        lVar12 = 0x18;
        uVar19 = 1;
        local_80 = 0;
        local_7c = 0;
        do {
          piVar18 = (int *)(param_1[0x2c] + lVar12);
          uVar10 = (uint)*(ushort *)((long)puVar13 + 0x1e);
          if (uVar10 < 0xff00) {
            cVar9 = '\x01';
LAB_001e508f:
            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10;
          }
          else {
            cVar9 = '\0';
            if (uVar10 != 0xffff) goto LAB_001e508f;
            lVar15 = param_1[8];
            if (lVar15 == 0) {
              lVar15 = (**(code **)(*param_1 + 0xd8))(param_1);
              param_1[8] = lVar15;
            }
            uVar10 = FUN_001d1ac0(lVar15,param_1,uVar19);
            piVar18[2] = piVar18[2] & 0xf8000000U | uVar10 & 0x7ffffff;
            if ((uVar10 & 0x7ffffff) != uVar10) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar9 = '\x01';
          }
          bVar7 = *(byte *)((long)piVar18 + 0xb) & 0xf7 | cVar9 * '\b';
          *(byte *)((long)piVar18 + 0xb) = bVar7;
          bVar16 = (byte)puVar13[7] & 0xf;
          if (bVar16 == 3) {
            if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x10;
          }
          else if (bVar16 == 6) {
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x20;
          }
          else if (bVar16 == 10) {
            *(byte *)((long)piVar18 + 0xb) = bVar7 | 0x40;
          }
          piVar18[4] = puVar13[5];
          if (((uVar10 < uVar20) && (cVar9 != '\0')) &&
             ((lVar15 = *(long *)(param_1[10] + (ulong)uVar10 * 8), lVar15 == 0 ||
              ((*(int *)(lVar15 + 0x78) == 0xf &&
               (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1)))))) {
            if (*piVar18 == 0) {
              *piVar18 = -1;
              if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
                FUN_0018ff20("../../gold/object.cc",0x90d,"do_count_local_symbols");
              }
            }
            else {
              do {
                FUN_001d1870();
LAB_001e5400:
                if (((puVar13[7] & 0xf) == 4) || (piVar18[1] != -1)) {
LAB_001e533f:
                  lVar15 = *(long *)(PTR_DAT_0045c708 + 0x10);
                  if (lVar15 == 0) goto LAB_001e5621;
                  if (*(long *)(lVar15 + 0x9250) != 0) {
                    pcVar17 = (char *)0xffffffffffffffff;
                    local_58[0] = local_48;
                    if (__s != (char *)0x0) {
                      sVar14 = strlen(__s);
                      pcVar17 = __s + sVar14;
                    }
                    FUN_00174550(local_58,__s,pcVar17);
                    lVar15 = FUN_0017cef0(lVar15 + 0x9238,local_58);
                    if (local_58[0] != local_48) {
                      FUN_002f1e60();
                    }
                    pcVar17 = __s;
                    if (lVar15 == 0) goto LAB_001e53eb;
                  }
                  FUN_002820b0(param_2,__s,1,0);
                  local_7c = local_7c + 1;
                  goto LAB_001e518a;
                }
                iVar5 = *piVar18;
                if ((iVar5 != 0) && (iVar5 != -2)) goto LAB_001e5609;
                if (iVar5 == -2) goto LAB_001e533f;
                plVar6 = *(long **)(PTR_DAT_0045c708 + 0x18);
                if (plVar6 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0018ff20("../../gold/parameters.h",0x69,"target");
                }
                pcVar17 = __s;
                cVar9 = (**(code **)(*plVar6 + 0x50))(plVar6,__s);
                if (cVar9 == '\0') goto LAB_001e533f;
LAB_001e53eb:
                iVar5 = *piVar18;
                __s = pcVar17;
joined_r0x001e54a2:
              } while (iVar5 != 0);
              *piVar18 = -1;
            }
          }
          else {
            if (((puVar13[7] & 0xf) != 3) &&
               ((*(code **)(*param_1 + 0x200) == FUN_001d2fe0 ||
                (cVar8 = (**(code **)(*param_1 + 0x200))(param_1,piVar18), cVar8 != '\0')))) {
              __s = local_60;
              uVar4 = puVar13[4];
              if (local_60 <= (char *)(ulong)uVar4) {
                uVar11 = gettext("local symbol %u section name out of range: %u >= %u");
                FUN_001d19e0(param_1,uVar11,uVar19,uVar4);
                iVar5 = *piVar18;
                goto joined_r0x001e54a2;
              }
              __s = (char *)(ulong)uVar4 + local_a0;
              if (piVar18[1] != -1) {
                FUN_002820b0(param_3,__s,1,0);
                local_80 = local_80 + 1;
              }
              if (cVar1 != '\0') {
                iVar5 = *piVar18;
                goto joined_r0x001e54a2;
              }
              if (iVar3 != 3) {
                if (iVar3 == 2) goto LAB_001e5400;
                if (iVar3 != 0) goto LAB_001e533f;
                if (cVar9 == '\0') goto LAB_001e533f;
                if (*(int *)(param_1[0x1c] + (ulong)uVar10 * 4) == -1) goto LAB_001e5400;
                goto LAB_001e533f;
              }
              iVar5 = *piVar18;
              if ((iVar5 == 0) || (iVar5 == -2)) {
                if (iVar5 == -2) goto LAB_001e533f;
                goto joined_r0x001e54a2;
              }
LAB_001e5609:
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x6f2,"may_be_discarded_from_output_symtab");
            }
            if (*piVar18 != 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.h",0x716,"set_no_output_symtab_entry");
            }
            *piVar18 = -1;
            if (piVar18[1] != -1) {
                    /* WARNING: Subroutine does not return */
              FUN_0018ff20("../../gold/object.cc",0x915,"do_count_local_symbols");
            }
          }
LAB_001e518a:
          uVar19 = uVar19 + 1;
          lVar12 = lVar12 + 0x18;
          puVar13 = puVar13 + 4;
        } while (uVar2 != uVar19);
      }
      *(int *)((long)param_1 + 0x124) = local_7c;
      *(int *)(param_1 + 0x25) = local_80;
      return;
    }
  }
LAB_001e5681:
                    /* WARNING: Subroutine does not return */
  FUN_001d17f0();
}

