
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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)

{
  off_t *poVar1;
  bool bVar2;
  uint uVar3;
  Input_file *pIVar4;
  _func_int_varargs *p_Var5;
  uint uVar6;
  General_options *pGVar7;
  Discard_locals DVar8;
  uint uVar9;
  Output_section *pOVar10;
  pointer pcVar11;
  byte bVar12;
  uchar *puVar13;
  uint *puVar14;
  Sized_relobj_file<32,_false> *pSVar15;
  __bucket_type *pp_Var16;
  int iVar17;
  char *format;
  Xindex *this_00;
  char cVar18;
  byte bVar19;
  off_t start;
  Sized_relobj_file<32,_false> *pSVar20;
  Sized_relobj_file<32,_false> *this_01;
  Object *in_stack_ffffff84;
  uint local_74;
  uint local_70;
  Sized_relobj_file<32,_false> *local_64;
  uchar *local_60;
  uint local_50;
  uint local_48;
  int iStack_40;
  section_size_type strtab_size;
  Location loc;
  
  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;
  }
  pSVar20 = (Sized_relobj_file<32,_false> *)&this->elf_file_;
  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset
                    ((Elf_file<32,_false,_gold::Object> *)pSVar20,uVar3);
  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
  if (pIVar4 != (Input_file *)0x0) {
    puVar13 = File_read::get_view(&pIVar4->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");
    }
    pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
    if (pIVar4 != (Input_file *)0x0) {
      puVar14 = (uint *)File_read::get_view(&pIVar4->file_,
                                            (this->super_Sized_relobj<32,_false>).super_Relobj.
                                            super_Object.offset_,
                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,
                                            true);
      local_64 = *(Sized_relobj_file<32,_false> **)(puVar13 + 0x18);
      if ((Sized_relobj_file<32,_false> *)0xfeff < local_64) {
        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum
                  ((Elf_file<32,_false,_gold::Object> *)pSVar20);
        local_64 = (Sized_relobj_file<32,_false> *)
                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                          _vptr_Object + (this->elf_file_).large_shndx_offset_);
      }
      p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];
      if (p_Var5 == do_section_contents) {
        elfcpp::Elf_file<32,_false,_gold::Object>::section_contents
                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);
        if (loc.data_size._4_4_ != 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
        }
        local_60 = "";
        strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;
        local_64 = pSVar20;
        if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {
          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;
          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;
          local_60 = File_read::get_view(&pIVar4->file_,
                                         (this->super_Sized_relobj<32,_false>).super_Relobj.
                                         super_Object.offset_,
                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),
                                         (section_size_type)
                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);
          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;
        }
      }
      else {
        local_60 = (uchar *)(*p_Var5)();
      }
      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;
      pGVar7 = parameters->options_;
      if (pGVar7 == (General_options *)0x0) {
LAB_000cac17:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
      }
      bVar2 = (pGVar7->strip_all_).value;
      DVar8 = pGVar7->discard_locals_;
      if (uVar3 < 2) {
        local_50 = 0;
        local_48 = 0;
      }
      else {
        local_50 = 0;
        local_74 = 1;
        local_48 = 0;
        do {
          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);
          pSVar20 = (Sized_relobj_file<32,_false> *)
                    ((this->local_values_).
                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                     ._M_impl._M_start + local_74);
          if (local_70 < 0xff00) {
            cVar18 = '\x01';
LAB_000ca65e:
            ((__node_base *)
            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
             _M_string_length)->_M_nxt =
                 (_Hash_node_base *)
                 ((uint)((__node_base *)
                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);
          }
          else {
            cVar18 = '\0';
            if (local_70 != 0xffff) goto LAB_000ca65e;
            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
            if (this_00 == (Xindex *)0x0) {
              this_00 = (Xindex *)
                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                          _vptr_Object[0x1b])();
              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;
            }
            local_64 = this;
            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);
            ((__node_base *)
            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
             _M_string_length)->_M_nxt =
                 (_Hash_node_base *)
                 ((uint)((__node_base *)
                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);
            if ((local_70 & 0x7ffffff) != local_70) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar18 = '\x01';
          }
          bVar12 = *(byte *)((int)&((__node_base *)
                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.
                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |
                   cVar18 * '\b';
          *(byte *)((int)&((__node_base *)
                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                           _M_string_length)->_M_nxt + 3) = bVar12;
          bVar19 = (byte)puVar14[7] & 0xf;
          if (bVar19 == 3) {
            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus
                ._M_p != (pointer)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(byte *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;
          }
          else if (bVar19 == 6) {
            *(byte *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;
          }
          else if (bVar19 == 10) {
            *(byte *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;
          }
          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.
          _M_allocated_capacity = puVar14[5];
          if ((local_70 < uVar6) && (cVar18 != '\0')) {
            pOVar10 = (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[local_70];
            if ((pOVar10 != (Output_section *)0x0) &&
               ((pOVar10->order_ != ORDER_EHFRAME ||
                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->
                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                _vptr_Object +
                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.
                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;
            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);
            if ((__bucket_type *)
                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=
                (__bucket_type *)0x0) {
              do {
                local_64 = pSVar15;
                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);
LAB_000ca9d0:
                pSVar15 = local_64;
                if (((puVar14[7] & 0xf) == 4) ||
                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                    _M_dataplus._M_p != (pointer)0xffffffff)) {
LAB_000ca906:
                  local_64 = pSVar15;
                  pGVar7 = parameters->options_;
                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;
                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {
                    poVar1 = &loc.data_size;
                    loc.file_offset._0_4_ = poVar1;
                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {
                      strlen((char *)local_64);
                    }
                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                    ::_M_construct<char_const*>();
                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;
                    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>_>
                            *)this_01,(key_type *)&loc);
                    if ((off_t *)loc.file_offset != poVar1) {
                      operator_delete((off_t *)loc.file_offset);
                    }
                    if (iStack_40 == 0) goto LAB_000ca9b7;
                  }
                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);
                  local_48 = local_48 + 1;
                  goto LAB_000ca745;
                }
                pp_Var16 = (__bucket_type *)
                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))
                goto LAB_000cac4b;
                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;
                if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");
                }
                this_01 = local_64;
                iVar17 = (*parameters->target_->_vptr_Target[10])();
                if ((char)iVar17 == '\0') goto LAB_000ca906;
LAB_000ca9b7:
                pp_Var16 = (__bucket_type *)
                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
                pSVar15 = local_64;
                local_64 = this_01;
joined_r0x000caa5f:
              } while (pp_Var16 != (__bucket_type *)0x0);
              goto LAB_000ca73f;
            }
            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                      _M_dataplus._M_p;
            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =
                 (_func_int_varargs **)0xffffffff;
            if (pcVar11 != (pointer)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");
            }
          }
          else {
LAB_000ca6c0:
            if (((puVar14[7] & 0xf) == 3) ||
               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&
                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {
              if ((__bucket_type *)
                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=
                  (__bucket_type *)0x0) goto LAB_000cab99;
              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                        _M_dataplus._M_p;
              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =
                   (_func_int_varargs **)0xffffffff;
              if (pcVar11 != (pointer)0xffffffff) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");
              }
            }
            else {
              uVar9 = puVar14[4];
              if (strtab_size <= uVar9) {
                format = (char *)gettext();
                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);
                pp_Var16 = (__bucket_type *)
                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;
                goto joined_r0x000caa5f;
              }
              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);
              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.
                  _M_dataplus._M_p != (pointer)0xffffffff) {
                local_64 = pSVar15;
                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);
                local_50 = local_50 + 1;
              }
              if (bVar2 == false) {
                if (DVar8 != DISCARD_ALL) {
                  local_64 = pSVar15;
                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;
                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;
                  if (cVar18 == '\0') goto LAB_000ca906;
                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;
                  goto LAB_000ca906;
                }
                pp_Var16 = (__bucket_type *)
                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))
                {
LAB_000cac4b:
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/object.h",0x6f2,
                                      "may_be_discarded_from_output_symtab");
                }
                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;
              }
              else {
                pp_Var16 = (__bucket_type *)
                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
              }
              if (pp_Var16 != (__bucket_type *)0x0) {
LAB_000cab99:
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");
              }
LAB_000ca73f:
              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =
                   (_func_int_varargs **)0xffffffff;
            }
          }
LAB_000ca745:
          local_74 = local_74 + 1;
          puVar14 = puVar14 + 4;
        } while (uVar3 != local_74);
      }
      this->output_local_symbol_count_ = local_48;
      this->output_local_dynsym_count_ = local_50;
      return;
    }
  }
LAB_000cac46:
                    /* WARNING: Subroutine does not return */
  Object::input_file(in_stack_ffffff84);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_000ca490(int *param_1)

{
  code *pcVar1;
  int *piVar2;
  uint uVar3;
  byte bVar4;
  char cVar5;
  char cVar6;
  int iVar7;
  uint *puVar8;
  int iVar9;
  size_t sVar10;
  undefined4 uVar11;
  byte bVar12;
  uint uVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  uint *puVar18;
  int *piVar19;
  undefined8 uVar20;
  int unaff_retaddr;
  undefined1 auStack_7c [16];
  int local_6c;
  undefined *local_64;
  undefined4 local_60;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  int local_2c;
  undefined4 uStack_14;
  
  uStack_14 = 0xca499;
  iVar7 = param_1[0x2b];
  if (iVar7 == -1) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (iVar7 == 0) {
    return;
  }
  piVar19 = param_1 + 0x24;
  uVar20 = FUN_000c52b0(piVar19,iVar7);
  puVar17 = auStack_7c;
  if (param_1[7] != 0) {
    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);
    puVar17 = auStack_7c;
    if (*(int *)(iVar7 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    local_6c = param_1[0x2c];
    if (local_6c != *(int *)(iVar7 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    if (param_1[7] != 0) {
      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);
      uVar13 = *(uint *)(iVar7 + 0x18);
      if (0xfeff < uVar13) {
        FUN_000c47d0(piVar19);
        uVar13 = uVar13 + param_1[0x29];
      }
      puVar15 = auStack_7c;
      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {
        FUN_000c5480(&local_34,piVar19,uVar13);
        puVar15 = &stack0xffffff80;
        puVar17 = &stack0xffffff80;
        if (local_2c != 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);
        }
        local_3c = local_30;
        local_64 = &DAT_00257c6b;
        if (local_30 != 0) {
          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;
          local_64 = (undefined *)
                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,
                                  *(undefined4 *)(unaff_retaddr + 0x20),
                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1
                                  ,1);
          puVar15 = &stack0xffffff80;
        }
      }
      else {
        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);
      }
      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);
      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;
      iVar7 = *(int *)(DAT_0033f2f0 + 8);
      puVar16 = puVar15;
      if (iVar7 == 0) {
LAB_000cac17:
        *(int *)(puVar16 + -4) = iVar7;
        *(char **)(puVar16 + -8) = "options";
        *(undefined4 *)(puVar16 + -0xc) = 0x5c;
        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;
        FUN_0008b620();
      }
      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);
      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);
      *(undefined4 *)(puVar15 + 0x20) = uVar11;
      if (*(uint *)(puVar15 + 0x10) < 2) {
        *(undefined4 *)(puVar15 + 0x2c) = 0;
        *(undefined4 *)(puVar15 + 0x34) = 0;
      }
      else {
        *(undefined4 *)(puVar15 + 0x2c) = 0;
        *(undefined4 *)(puVar15 + 8) = 1;
        piVar19 = *(int **)(puVar15 + 0x80);
        *(undefined4 *)(puVar15 + 0x34) = 0;
        do {
          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);
          *(uint *)(puVar15 + 0xc) = uVar13;
          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);
          if (uVar13 < 0xff00) {
            cVar6 = '\x01';
LAB_000ca65e:
            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;
          }
          else {
            cVar6 = '\0';
            if (uVar13 != 0xffff) goto LAB_000ca65e;
            iVar7 = piVar19[0xc];
            if (iVar7 == 0) {
              iVar7 = *piVar19;
              *(int **)(puVar15 + -0x10) = piVar19;
              pcVar1 = *(code **)(iVar7 + 0x6c);
              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;
              iVar7 = (*pcVar1)();
              piVar19[0xc] = iVar7;
            }
            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);
            *(int **)(puVar15 + -0xc) = piVar19;
            *(int *)(puVar15 + -0x10) = iVar7;
            *(undefined4 *)(puVar15 + -0x14) = 0xca889;
            uVar13 = FUN_000beba0();
            *(uint *)(puVar15 + 0xc) = uVar13;
            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;
            if ((uVar13 & 0x7ffffff) != uVar13) {
              *(char **)(puVar15 + -8) = "set_input_shndx";
              *(undefined4 *)(puVar15 + -0xc) = 0x755;
              *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;
              FUN_0008b620();
            }
            cVar6 = '\x01';
          }
          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';
          *(byte *)((int)puVar18 + 0xb) = bVar4;
          bVar12 = (byte)puVar8[7] & 0xf;
          if (bVar12 == 3) {
            if (puVar18[1] != 0xffffffff) {
              *(char **)(puVar15 + -8) = "set_is_section_symbol";
              *(undefined4 *)(puVar15 + -0xc) = 0x76a;
              *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;
              FUN_0008b620();
            }
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;
          }
          else if (bVar12 == 6) {
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;
          }
          else if (bVar12 == 10) {
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;
          }
          puVar18[3] = puVar8[5];
          uVar13 = *(uint *)(puVar15 + 0xc);
          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {
            *(uint *)(puVar15 + 0x18) = uVar13 << 2;
            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);
            if ((iVar7 != 0) &&
               ((*(int *)(iVar7 + 0x5c) != 0xf ||
                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;
            if (*puVar18 != 0) {
              do {
                *(undefined4 *)(puVar15 + -4) = 0xca9c6;
                FUN_000be990();
LAB_000ca9d0:
                uVar13 = (byte)puVar8[7] & 0xf;
                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {
LAB_000ca900:
                  iVar7 = **(int **)(puVar15 + 0x30);
                  puVar16 = puVar15;
LAB_000ca906:
                  iVar14 = *(int *)(iVar7 + 8);
                  if (iVar14 == 0) goto LAB_000cac17;
                  if (*(int *)(iVar14 + 0x5a48) != 0) {
                    iVar7 = *(int *)(puVar16 + 0x18);
                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;
                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;
                    iVar9 = -1;
                    if (iVar7 != 0) {
                      *(int *)(puVar16 + 0x28) = iVar14;
                      *(int *)(puVar16 + 0x18) = iVar7;
                      *(int *)(puVar16 + -0x10) = iVar7;
                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;
                      sVar10 = strlen(*(char **)(puVar16 + -0x10));
                      iVar14 = *(int *)(puVar16 + 0x28);
                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);
                    }
                    *(int *)(puVar16 + 0x38) = iVar14;
                    *(undefined4 *)(puVar16 + -4) = 0;
                    *(int *)(puVar16 + -8) = iVar9;
                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);
                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;
                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;
                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;
                    FUN_00056c80();
                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);
                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;
                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;
                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;
                    FUN_0007bca0();
                    iVar7 = *(int *)(puVar16 + 0x38);
                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {
                      *(int *)(puVar16 + 8) = iVar7;
                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);
                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;
                      FUN_001ac470();
                      iVar7 = *(int *)(puVar16 + 8);
                    }
                    puVar15 = puVar16 + -4;
                    puVar16 = puVar16 + -4;
                    if (iVar7 == 0) goto LAB_000ca9b7;
                  }
                  *(undefined4 *)(puVar16 + -4) = 0;
                  *(undefined4 *)(puVar16 + -8) = 1;
                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);
                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);
                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;
                  FUN_0014bcb0();
                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;
                  puVar15 = puVar16;
                  goto LAB_000ca745;
                }
                uVar3 = *puVar18;
                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;
                iVar7 = **(int **)(puVar15 + 0x30);
                puVar16 = puVar15;
                if (uVar3 == 0xfffffffe) goto LAB_000ca906;
                piVar2 = *(int **)(iVar7 + 0xc);
                if (piVar2 == (int *)0x0) {
                  *(uint **)(puVar15 + -4) = puVar18;
                  *(char **)(puVar15 + -8) = "target";
                  *(undefined4 *)(puVar15 + -0xc) = 0x69;
                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;
                  FUN_0008b620();
                }
                iVar7 = *piVar2;
                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);
                *(int **)(puVar15 + -0x10) = piVar2;
                pcVar1 = *(code **)(iVar7 + 0x28);
                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;
                cVar6 = (*pcVar1)();
                if (cVar6 == '\0') goto LAB_000ca900;
LAB_000ca9b7:
                uVar13 = *puVar18;
joined_r0x000caa5f:
              } while (uVar13 != 0);
              goto LAB_000ca73f;
            }
            *puVar18 = 0xffffffff;
            if (puVar18[1] != 0xffffffff) {
              *(undefined4 *)(puVar15 + -4) = 0;
              *(char **)(puVar15 + -8) = "do_count_local_symbols";
              *(undefined4 *)(puVar15 + -0xc) = 0x90d;
              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;
              FUN_0008b620();
            }
          }
          else {
LAB_000ca6c0:
            if ((puVar8[7] & 0xf) == 3) {
LAB_000ca7ab:
              if (*puVar18 != 0) goto LAB_000cab99;
              *puVar18 = 0xffffffff;
              if (puVar18[1] != 0xffffffff) {
                *(char **)(puVar15 + -8) = "do_count_local_symbols";
                *(undefined4 *)(puVar15 + -0xc) = 0x915;
                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;
                FUN_0008b620();
              }
            }
            else {
              pcVar1 = *(code **)(*piVar19 + 0x100);
              if (pcVar1 != FUN_000c0270) {
                puVar15[0x18] = cVar6;
                *(uint **)(puVar15 + -0xc) = puVar18;
                *(int **)(puVar15 + -0x10) = piVar19;
                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;
                cVar5 = (*pcVar1)();
                cVar6 = puVar15[0x18];
                if (cVar5 == '\0') goto LAB_000ca7ab;
              }
              uVar13 = puVar8[4];
              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);
              if (*(uint *)(puVar15 + 0x44) <= uVar13) {
                *(uint *)(puVar15 + 0xc) = uVar13;
                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";
                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;
                uVar11 = gettext();
                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);
                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);
                *(undefined4 *)(puVar15 + -0x1c) = uVar11;
                *(int **)(puVar15 + -0x20) = piVar19;
                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;
                FUN_000beb20();
                uVar13 = *puVar18;
                goto joined_r0x000caa5f;
              }
              uVar3 = puVar18[1];
              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;
              if (uVar3 != 0xffffffff) {
                puVar15[0x28] = cVar6;
                *(undefined4 *)(puVar15 + -4) = 0;
                *(undefined4 *)(puVar15 + -8) = 1;
                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;
                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);
                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;
                FUN_0014bcb0();
                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;
                cVar6 = puVar15[0x28];
              }
              if (puVar15[0x27] == '\0') {
                if (*(int *)(puVar15 + 0x20) != 3) {
                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;
                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;
                  if (cVar6 == '\0') goto LAB_000ca900;
                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)
                  goto LAB_000ca9d0;
                  goto LAB_000ca900;
                }
                uVar13 = *puVar18;
                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {
LAB_000cac4b:
                  *(uint *)(puVar15 + -4) = uVar13;
                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";
                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;
                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;
                  FUN_0008b620();
                }
                if (uVar13 == 0xfffffffe) goto LAB_000ca900;
              }
              else {
                uVar13 = *puVar18;
              }
              if (uVar13 != 0) {
LAB_000cab99:
                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";
                *(undefined4 *)(puVar15 + -0xc) = 0x716;
                *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;
                FUN_0008b620();
              }
LAB_000ca73f:
              *puVar18 = 0xffffffff;
            }
          }
LAB_000ca745:
          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;
          puVar8 = puVar8 + 4;
        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));
      }
      iVar7 = *(int *)(puVar15 + 0x80);
      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);
      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);
      return;
    }
  }
LAB_000cac46:
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -4) = 0xcac4b;
  FUN_000be960();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035680
ADD EBX,0x274b67
SUB ESP,0x6c
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0xac]
CMP EAX,-0x1
JZ 0x000cabfe
TEST EAX,EAX
JNZ 0x000ca4c8
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [ESP + 0x80]
SUB ESP,0x8
PUSH EAX
ADD EDI,0x90
PUSH EDI
CALL 0x000c52b0
MOV ECX,dword ptr [ESP + 0x90]
ADD ESP,0x10
MOV ECX,dword ptr [ECX + 0x1c]
TEST ECX,ECX
JZ 0x000cac46
PUSH 0x1
PUSH 0x1
PUSH 0x28
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x94]
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX + 0x20]
LEA EAX,[ECX + 0x1c]
PUSH EAX
CALL 0x00085770
ADD ESP,0x20
CMP dword ptr [EAX + 0x4],0x2
MOV ESI,EAX
JNZ 0x000cac2d
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0xb0]
MOV dword ptr [ESP + 0x10],EAX
CMP EAX,dword ptr [ESI + 0x1c]
JNZ 0x000cabcf
MOV EBP,dword ptr [ESP + 0x80]
MOV ECX,dword ptr [ESP + 0x10]
XOR EDX,EDX
MOV EAX,dword ptr [ESI + 0x10]
MOV EBP,dword ptr [EBP + 0x1c]
SHL ECX,0x4
TEST EBP,EBP
JZ 0x000cac46
PUSH 0x1
PUSH 0x1
PUSH ECX
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x94]
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX + 0x20]
LEA EAX,[EBP + 0x1c]
PUSH EAX
CALL 0x00085770
MOV ESI,dword ptr [ESI + 0x18]
ADD ESP,0x20
MOV EBP,EAX
CMP ESI,0xfeff
JA 0x000cab43
MOV EAX,dword ptr [ESP + 0x80]
LEA EDX,[EBX + 0xffd86550]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x38]
CMP EAX,EDX
JNZ 0x000cab61
LEA EAX,[ESP + 0x48]
SUB ESP,0x4
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x000c5480
MOV ESI,dword ptr [ESP + 0x5c]
ADD ESP,0xc
MOV EAX,dword ptr [ESP + 0x54]
TEST EAX,EAX
JNZ 0x000cac64
LEA EAX,[EBX + 0xfff18c6b]
MOV dword ptr [ESP + 0x44],ESI
MOV dword ptr [ESP + 0x1c],EAX
TEST ESI,ESI
JNZ 0x000cab00
MOV EAX,dword ptr [ESP + 0x80]
ADD EBP,0x10
MOV EAX,dword ptr [EAX + 0x28]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0x2f0]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000cac17
MOVZX ECX,byte ptr [EAX + 0x3469]
MOV EAX,dword ptr [EAX + 0x5a78]
CMP dword ptr [ESP + 0x10],0x1
MOV byte ptr [ESP + 0x27],CL
MOV dword ptr [ESP + 0x20],EAX
JBE 0x000caacd
MOV EDI,0x1
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x8],EDI
MOV EDI,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x34],0x0
JMP 0x000ca75b
XOR ECX,ECX
CMP EDX,0xffff
JZ 0x000ca870
MOV EAX,dword ptr [ESI + 0x8]
AND EAX,0xf8000000
OR EAX,EDX
MOV dword ptr [ESI + 0x8],EAX
MOVZX EAX,byte ptr [ESI + 0xb]
LEA EDX,[ECX*0x8 + 0x0]
AND EAX,0xfffffff7
OR EAX,EDX
MOV byte ptr [ESI + 0xb],AL
MOVZX EDX,byte ptr [EBP + 0xc]
AND EDX,0xf
CMP DL,0x3
JZ 0x000ca7e0
CMP DL,0x6
JZ 0x000ca860
CMP DL,0xa
JNZ 0x000ca6a8
OR EAX,0x40
MOV byte ptr [ESI + 0xb],AL
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [ESI + 0xc],EAX
MOV EAX,dword ptr [ESP + 0xc]
CMP dword ptr [ESP + 0x14],EAX
JBE 0x000ca6c0
TEST CL,CL
JNZ 0x000ca7f8
MOVZX EAX,byte ptr [EBP + 0xc]
AND EAX,0xf
CMP AL,0x3
JZ 0x000ca7ab
MOV EAX,dword ptr [EDI]
LEA EDX,[EBX + 0xffd81270]
MOV EAX,dword ptr [EAX + 0x100]
CMP EAX,EDX
JNZ 0x000ca790
MOV EAX,dword ptr [ESP + 0x44]
MOV EDX,dword ptr [EBP]
MOV dword ptr [ESP + 0x18],EAX
CMP EAX,EDX
JBE 0x000caa30
MOV EAX,dword ptr [ESP + 0x1c]
ADD EAX,EDX
CMP dword ptr [ESI + 0x4],-0x1
MOV dword ptr [ESP + 0x18],EAX
JZ 0x000ca72a
MOV byte ptr [ESP + 0x28],CL
PUSH 0x0
PUSH 0x1
PUSH EAX
PUSH dword ptr [ESP + 0x94]
CALL 0x0014bcb0
ADD dword ptr [ESP + 0x3c],0x1
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP + 0x28]
CMP byte ptr [ESP + 0x27],0x0
JZ 0x000ca8c0
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JNZ 0x000cab99
MOV dword ptr [ESI],0xffffffff
ADD dword ptr [ESP + 0x8],0x1
ADD EBP,0x10
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [ESP + 0x10],EAX
JZ 0x000caadd
MOV ESI,dword ptr [ESP + 0x8]
MOVZX EDX,word ptr [EBP + 0xe]
SHL ESI,0x4
MOV dword ptr [ESP + 0xc],EDX
ADD ESI,dword ptr [EDI + 0xdc]
CMP EDX,0xfeff
JA 0x000ca650
MOV ECX,0x1
JMP 0x000ca65e
MOV byte ptr [ESP + 0x18],CL
SUB ESP,0x8
PUSH ESI
PUSH EDI
CALL EAX
MOVZX ECX,byte ptr [ESP + 0x28]
ADD ESP,0x10
TEST AL,AL
JNZ 0x000ca6e5
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JNZ 0x000cab99
CMP dword ptr [ESI + 0x4],-0x1
MOV dword ptr [ESI],0xffffffff
JZ 0x000ca745
SUB ESP,0x4
LEA EAX,[EBX + 0xfff1878c]
PUSH EAX
LEA EAX,[EBX + 0xfff17a38]
PUSH 0x915
PUSH EAX
CALL 0x0008b620
CMP dword ptr [ESI + 0x4],-0x1
JNZ 0x000cabb4
OR EAX,0x10
MOV byte ptr [ESI + 0xb],AL
JMP 0x000ca6a8
MOV EDX,EAX
SHL EAX,0x2
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EDI + 0x38]
MOV EAX,dword ptr [EAX + EDX*0x4]
TEST EAX,EAX
JZ 0x000ca829
CMP dword ptr [EAX + 0x5c],0xf
JNZ 0x000ca6c0
MOV EAX,dword ptr [EDI + 0x84]
MOV EDX,dword ptr [ESP + 0x18]
CMP dword ptr [EAX + EDX*0x1],-0x1
JNZ 0x000ca6c0
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JNZ 0x000ca9c1
CMP dword ptr [ESI + 0x4],-0x1
MOV dword ptr [ESI],0xffffffff
JZ 0x000ca745
PUSH EAX
LEA EAX,[EBX + 0xfff1878c]
PUSH EAX
LEA EAX,[EBX + 0xfff17a38]
PUSH 0x90d
PUSH EAX
CALL 0x0008b620
OR EAX,0x20
MOV byte ptr [ESI + 0xb],AL
JMP 0x000ca6a8
MOV EAX,dword ptr [EDI + 0x30]
TEST EAX,EAX
JZ 0x000caa98
SUB ESP,0x4
PUSH dword ptr [ESP + 0xc]
PUSH EDI
PUSH EAX
CALL 0x000beba0
MOV dword ptr [ESP + 0x1c],EAX
MOV EDX,EAX
MOV ECX,EAX
MOV EAX,dword ptr [ESI + 0x8]
AND EDX,0x7ffffff
ADD ESP,0x10
AND EAX,0xf8000000
OR EAX,EDX
MOV dword ptr [ESI + 0x8],EAX
CMP EDX,ECX
JNZ 0x000cab7e
MOV ECX,0x1
JMP 0x000ca66b
CMP dword ptr [ESP + 0x20],0x3
JZ 0x000caab0
CMP dword ptr [ESP + 0x20],0x2
JZ 0x000ca9d0
MOV EAX,dword ptr [ESP + 0x20]
TEST EAX,EAX
JNZ 0x000ca900
TEST CL,CL
JZ 0x000ca900
MOV EAX,dword ptr [EDI + 0x84]
MOV ECX,dword ptr [ESP + 0xc]
CMP dword ptr [EAX + ECX*0x4],-0x1
JZ 0x000ca9d0
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x8]
TEST EDX,EDX
JZ 0x000cac17
MOV ECX,dword ptr [EDX + 0x5a48]
TEST ECX,ECX
JZ 0x000caa70
MOV ECX,dword ptr [ESP + 0x18]
LEA EAX,[ESP + 0x50]
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,0xffffffff
TEST ECX,ECX
JZ 0x000ca954
MOV dword ptr [ESP + 0x28],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],ECX
PUSH ECX
CALL 0x000285f0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
ADD EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x38],EDX
PUSH 0x0
PUSH EAX
PUSH dword ptr [ESP + 0x20]
LEA ECX,[ESP + 0x54]
PUSH ECX
MOV dword ptr [ESP + 0x38],ECX
CALL 0x00056c80
LEA EAX,[ESP + 0x4c]
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x2c]
PUSH ECX
MOV EDX,dword ptr [ESP + 0x40]
ADD EDX,0x5a3c
PUSH EDX
PUSH EAX
CALL 0x0007bca0
MOV EDX,dword ptr [ESP + 0x48]
MOV EAX,dword ptr [ESP + 0x54]
ADD ESP,0xc
CMP EAX,dword ptr [ESP + 0xc]
JZ 0x000ca9af
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0xc
PUSH EAX
CALL 0x001ac470
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EDX,EDX
JNZ 0x000caa70
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JZ 0x000ca73f
CALL 0x000be990
LEA ESI,[ESI]
LEA ESI,[ESI]
MOVZX EAX,byte ptr [EBP + 0xc]
AND EAX,0xf
CMP AL,0x4
JZ 0x000ca900
CMP dword ptr [ESI + 0x4],-0x1
JNZ 0x000ca900
MOV EDX,dword ptr [ESI]
TEST EDX,EDX
JZ 0x000ca9f8
CMP EDX,-0x2
JNZ 0x000cac4b
MOV EAX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EAX]
CMP EDX,-0x2
JZ 0x000ca906
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x000cabe8
SUB ESP,0x8
MOV EDX,dword ptr [EAX]
PUSH dword ptr [ESP + 0x20]
PUSH EAX
CALL dword ptr [EDX + 0x28]
ADD ESP,0x10
TEST AL,AL
JNZ 0x000ca9b7
JMP 0x000ca900
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[EBX + 0xfff17ed0]
SUB ESP,0xc
PUSH EAX
CALL 0x000283c0
POP EDX
PUSH dword ptr [ESP + 0x24]
MOV EDX,dword ptr [ESP + 0x1c]
PUSH EDX
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
PUSH EDI
CALL 0x000beb20
MOV ECX,dword ptr [ESI]
ADD ESP,0x20
TEST ECX,ECX
JZ 0x000ca73f
JMP 0x000ca9c1
PUSH 0x0
PUSH 0x1
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x90]
CALL 0x0014bcb0
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
JMP 0x000ca745
SUB ESP,0xc
MOV EAX,dword ptr [EDI]
PUSH EDI
CALL dword ptr [EAX + 0x6c]
MOV dword ptr [EDI + 0x30],EAX
ADD ESP,0x10
JMP 0x000ca87b
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JZ 0x000caabf
CMP EAX,-0x2
JNZ 0x000cac4b
CMP EAX,-0x2
JNZ 0x000ca737
JMP 0x000ca900
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV EAX,dword ptr [ESP + 0x80]
MOV EBX,dword ptr [ESP + 0x34]
MOV dword ptr [EAX + 0xb4],EBX
MOV EBX,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX + 0xb8],EBX
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [ESP + 0x48]
MOV EDX,dword ptr [ESP + 0x4c]
MOV ECX,dword ptr [EDI + 0x1c]
TEST ECX,ECX
JZ 0x000cac46
PUSH 0x1
PUSH 0x1
PUSH ESI
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x94]
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX + 0x20]
LEA EAX,[ECX + 0x1c]
PUSH EAX
CALL 0x00085770
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x20
JMP 0x000ca5dc
SUB ESP,0xc
PUSH EDI
CALL 0x000c47d0
MOV EAX,dword ptr [ESP + 0x90]
ADD ESP,0x10
ADD ESI,dword ptr [EAX + 0xa4]
JMP 0x000ca58a
PUSH 0x1
LEA EDX,[ESP + 0x48]
PUSH EDX
PUSH ESI
PUSH dword ptr [ESP + 0x8c]
CALL EAX
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
JMP 0x000ca5dc
SUB ESP,0x4
LEA EAX,[EBX + 0xfff1877c]
PUSH EAX
LEA EAX,[EBX + 0xfff0c385]
PUSH 0x755
PUSH EAX
CALL 0x0008b620
SUB ESP,0x4
LEA EAX,[EBX + 0xfff18720]
PUSH EAX
LEA EAX,[EBX + 0xfff0c385]
PUSH 0x716
PUSH EAX
CALL 0x0008b620
SUB ESP,0x4
LEA EAX,[EBX + 0xfff18764]
PUSH EAX
LEA EAX,[EBX + 0xfff0c385]
PUSH 0x76a
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff1878c]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfff17a38]
PUSH 0x8d2
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff18ae4]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfff0726d]
PUSH 0x69
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff1878c]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfff17a38]
PUSH 0x8c2
PUSH EAX
CALL 0x0008b620
PUSH EAX
LEA EAX,[EBX + 0xfff18b1c]
PUSH EAX
LEA EAX,[EBX + 0xfff0726d]
PUSH 0x5c
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBX + 0xfff1878c]
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfff17a38]
PUSH 0x8cd
PUSH EAX
CALL 0x0008b620
CALL 0x000be960
PUSH EAX
LEA EAX,[EBX + 0xfff18740]
PUSH EAX
LEA EAX,[EBX + 0xfff0c385]
PUSH 0x6f2
PUSH EAX
CALL 0x0008b620
PUSH EAX
LEA EAX,[EBX + 0xfff186a8]
PUSH EAX
LEA EAX,[EBX + 0xfff0c4b4]
PUSH 0xc0
PUSH EAX
CALL 0x0008b620
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_000ca490(int *param_1)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}\n\n" comment (function_definition "void FUN_000ca490(int *param_1)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" primitive_type (function_declarator "FUN_000ca490(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int unaff_retaddr;" primitive_type identifier ;) (declaration "undefined1 auStack_7c [16];" type_identifier (array_declarator "auStack_7c [16]" identifier [ number_literal ]) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xca499;" (assignment_expression "uStack_14 = 0xca499" identifier = number_literal) ;) (expression_statement "iVar7 = param_1[0x2b];" (assignment_expression "iVar7 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == -1) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" { comment (expression_statement "FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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 (iVar7 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "piVar19 = param_1 + 0x24;" (assignment_expression "piVar19 = param_1 + 0x24" identifier = (binary_expression "param_1 + 0x24" identifier + number_literal)) ;) (expression_statement "uVar20 = FUN_000c52b0(piVar19,iVar7);" (assignment_expression "uVar20 = FUN_000c52b0(piVar19,iVar7)" identifier = (call_expression "FUN_000c52b0(piVar19,iVar7)" identifier (argument_list "(piVar19,iVar7)" ( identifier , identifier )))) ;) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" identifier = identifier) ;) (if_statement "if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" { (expression_statement "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);" (assignment_expression "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , number_literal , number_literal )))) ;) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" identifier = identifier) ;) (if_statement "if (*(int *)(iVar7 + 4) != 2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 2)" ( (binary_expression "*(int *)(iVar7 + 4) != 2" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" { comment (expression_statement "FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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 "local_6c = param_1[0x2c];" (assignment_expression "local_6c = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (if_statement "if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" if (parenthesized_expression "(local_6c != *(int *)(iVar7 + 0x1c))" ( (binary_expression "local_6c != *(int *)(iVar7 + 0x1c)" identifier != (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" { comment (expression_statement "FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" { (expression_statement "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);" (assignment_expression "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) , number_literal , (binary_expression "local_6c << 4" identifier << number_literal) , number_literal ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar7 + 0x18);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x18)" * (cast_expression "(uint *)(iVar7 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" if (parenthesized_expression "(0xfeff < uVar13)" ( (binary_expression "0xfeff < uVar13" number_literal < identifier) )) (compound_statement "{\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" { (expression_statement "FUN_000c47d0(piVar19);" (call_expression "FUN_000c47d0(piVar19)" identifier (argument_list "(piVar19)" ( identifier ))) ;) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" identifier = (binary_expression "uVar13 + param_1[0x29]" identifier + (subscript_expression "param_1[0x29]" identifier [ number_literal ]))) ;) })) (expression_statement "puVar15 = auStack_7c;" (assignment_expression "puVar15 = auStack_7c" identifier = identifier) ;) (if_statement "if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" if (parenthesized_expression "(*(code **)(*param_1 + 0x38) == FUN_000c5550)" ( (binary_expression "*(code **)(*param_1 + 0x38) == FUN_000c5550" (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }" { (expression_statement "FUN_000c5480(&local_34,piVar19,uVar13);" (call_expression "FUN_000c5480(&local_34,piVar19,uVar13)" identifier (argument_list "(&local_34,piVar19,uVar13)" ( (pointer_expression "&local_34" & identifier) , identifier , identifier ))) ;) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (if_statement "if (local_2c != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" if (parenthesized_expression "(local_2c != 0)" ( (binary_expression "local_2c != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" { comment (expression_statement "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);" (call_expression "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",local_2c)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "local_3c = local_30;" (assignment_expression "local_3c = local_30" identifier = identifier) ;) (expression_statement "local_64 = &DAT_00257c6b;" (assignment_expression "local_64 = &DAT_00257c6b" identifier = (pointer_expression "&DAT_00257c6b" & identifier)) ;) (if_statement "if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" { (if_statement "if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;" if (parenthesized_expression "(*(int *)(unaff_retaddr + 0x1c) == 0)" ( (binary_expression "*(int *)(unaff_retaddr + 0x1c) == 0" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" * (cast_expression "(int *)(unaff_retaddr + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x1c)" ( (binary_expression "unaff_retaddr + 0x1c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000cac46;" goto statement_identifier ;)) (expression_statement "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);" (assignment_expression "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" identifier = (cast_expression "(undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" identifier (argument_list "(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" ( (binary_expression "*(int *)(unaff_retaddr + 0x1c) + 0x1c" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" * (cast_expression "(int *)(unaff_retaddr + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x1c)" ( (binary_expression "unaff_retaddr + 0x1c" identifier + number_literal) )))) + number_literal) , (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x20)" * (cast_expression "(undefined4 *)(unaff_retaddr + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x20)" ( (binary_expression "unaff_retaddr + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x24)" * (cast_expression "(undefined4 *)(unaff_retaddr + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x24)" ( (binary_expression "unaff_retaddr + 0x24" identifier + number_literal) )))) , identifier , identifier , identifier , number_literal , number_literal ))))) ;) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) })) }) (else_clause "else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" else (compound_statement "{\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" { (expression_statement "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);" (assignment_expression "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" identifier = (call_expression "(**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar13,&local_38)" ( identifier , identifier , (pointer_expression "&local_38" & identifier) )))) ;) }))) (expression_statement "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x14)" * (cast_expression "(undefined4 *)(puVar15 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x80) + 0x28)" ( (binary_expression "*(int *)(puVar15 + 0x80) + 0x28" (pointer_expression "*(int *)(puVar15 + 0x80)" * (cast_expression "(int *)(puVar15 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0;" (assignment_expression "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0" (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))) = (pointer_expression "&DAT_0033f2f0" & identifier)) ;) (expression_statement "iVar7 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" { (labeled_statement "LAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;" statement_identifier : (expression_statement "*(int *)(puVar16 + -4) = iVar7;" (assignment_expression "*(int *)(puVar16 + -4) = iVar7" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar16 + -8) = "options";" (assignment_expression "*(char **)(puVar16 + -8) = "options"" (pointer_expression "*(char **)(puVar16 + -8)" * (cast_expression "(char **)(puVar16 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (string_literal ""options"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar11 = *(undefined4 *)(iVar7 + 0x5a78);" (assignment_expression "uVar11 = *(undefined4 *)(iVar7 + 0x5a78)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x5a78)" * (cast_expression "(undefined4 *)(iVar7 + 0x5a78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5a78)" ( (binary_expression "iVar7 + 0x5a78" identifier + number_literal) ))))) ;) (expression_statement "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);" (assignment_expression "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469)" (subscript_expression "puVar15[0x27]" identifier [ number_literal ]) = (pointer_expression "*(undefined1 *)(iVar7 + 0x3469)" * (cast_expression "(undefined1 *)(iVar7 + 0x3469)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3469)" ( (binary_expression "iVar7 + 0x3469" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x20) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + 0x20) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" if (parenthesized_expression "(*(uint *)(puVar15 + 0x10) < 2)" ( (binary_expression "*(uint *)(puVar15 + 0x10) < 2" (pointer_expression "*(uint *)(puVar15 + 0x10)" * (cast_expression "(uint *)(puVar15 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }" { (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" else (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" { (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar19 = *(int **)(puVar15 + 0x80);" (assignment_expression "piVar19 = *(int **)(puVar15 + 0x80)" identifier = (pointer_expression "*(int **)(puVar15 + 0x80)" * (cast_expression "(int **)(puVar15 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) = number_literal) ;) (do_statement "do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));" do (compound_statement "{\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        }" { (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar8 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar8 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x1e)" ( (binary_expression "(int)puVar8 + 0x1e" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);" (assignment_expression "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" identifier = (cast_expression "(uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" ( (binary_expression "*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]" (binary_expression "*(int *)(puVar15 + 8) * 0x10" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) * number_literal) + (subscript_expression "piVar19[0x37]" identifier [ number_literal ])) )))) ;) (if_statement "if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" if (parenthesized_expression "(uVar13 < 0xff00)" ( (binary_expression "uVar13 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }" { (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" statement_identifier : (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = (binary_expression "puVar18[2] & 0xf8000000 | uVar13" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" identifier [ number_literal ]) & number_literal) | identifier)) ;)) }) (else_clause "else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" else (compound_statement "{\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" { (expression_statement "cVar6 = '\0';" (assignment_expression "cVar6 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (uVar13 != 0xffff) goto LAB_000ca65e;" if (parenthesized_expression "(uVar13 != 0xffff)" ( (binary_expression "uVar13 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_000ca65e;" goto statement_identifier ;)) (expression_statement "iVar7 = piVar19[0xc];" (assignment_expression "iVar7 = piVar19[0xc]" identifier = (subscript_expression "piVar19[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" { (expression_statement "iVar7 = *piVar19;" (assignment_expression "iVar7 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x6c)" identifier = (pointer_expression "*(code **)(iVar7 + 0x6c)" * (cast_expression "(code **)(iVar7 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*pcVar1)();" (assignment_expression "iVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar19[0xc] = iVar7;" (assignment_expression "piVar19[0xc] = iVar7" (subscript_expression "piVar19[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + -0xc) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0xc) = piVar19" (pointer_expression "*(int **)(puVar15 + -0xc)" * (cast_expression "(int **)(puVar15 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca889;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca889" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = FUN_000beba0();" (assignment_expression "uVar13 = FUN_000beba0()" identifier = (call_expression "FUN_000beba0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = (binary_expression "puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" identifier [ number_literal ]) & number_literal) | (binary_expression "uVar13 & 0x7ffffff" identifier & number_literal))) ;) (if_statement "if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" if (parenthesized_expression "((uVar13 & 0x7ffffff) != uVar13)" ( (binary_expression "(uVar13 & 0x7ffffff) != uVar13" (parenthesized_expression "(uVar13 & 0x7ffffff)" ( (binary_expression "uVar13 & 0x7ffffff" identifier & number_literal) )) != identifier) )) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" { (expression_statement "*(char **)(puVar15 + -8) = "set_input_shndx";" (assignment_expression "*(char **)(puVar15 + -8) = "set_input_shndx"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_input_shndx"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x755;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x755" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcab99;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcab99" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';" (assignment_expression "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" identifier = (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "cVar6 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar12 = (byte)puVar8[7] & 0xf;" (assignment_expression "bVar12 = (byte)puVar8[7] & 0xf" identifier = (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[7]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 3)" ( (binary_expression "bVar12 == 3" identifier == number_literal) )) (compound_statement "{\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }" { (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" { (expression_statement "*(char **)(puVar15 + -8) = "set_is_section_symbol";" (assignment_expression "*(char **)(puVar15 + -8) = "set_is_section_symbol"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_is_section_symbol"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x76a;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x76a" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" else (if_statement "if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 6)" ( (binary_expression "bVar12 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }" { (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" else (if_statement "if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 10)" ( (binary_expression "bVar12 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" { (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "puVar18[3] = puVar8[5];" (assignment_expression "puVar18[3] = puVar8[5]" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = (subscript_expression "puVar8[5]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = *(uint *)(puVar15 + 0xc);" (assignment_expression "uVar13 = *(uint *)(puVar15 + 0xc)" identifier = (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" if (parenthesized_expression "((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0'))" ( (binary_expression "(uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')" (parenthesized_expression "(uVar13 < *(uint *)(puVar15 + 0x14))" ( (binary_expression "uVar13 < *(uint *)(puVar15 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar15 + 0x14)" * (cast_expression "(uint *)(puVar15 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) ))))) )) && (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }" { (expression_statement "*(uint *)(puVar15 + 0x18) = uVar13 << 2;" (assignment_expression "*(uint *)(puVar15 + 0x18) = uVar13 << 2" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (binary_expression "uVar13 << 2" identifier << number_literal)) ;) (expression_statement "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4)" identifier = (pointer_expression "*(int *)(piVar19[0xe] + uVar13 * 4)" * (cast_expression "(int *)(piVar19[0xe] + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0xe] + uVar13 * 4)" ( (binary_expression "piVar19[0xe] + uVar13 * 4" (subscript_expression "piVar19[0xe]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;" if (parenthesized_expression "((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))))" ( (binary_expression "(iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" ( (parenthesized_expression "(*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))" ( (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf" (pointer_expression "*(int *)(iVar7 + 0x5c)" * (cast_expression "(int *)(iVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5c)" ( (binary_expression "iVar7 + 0x5c" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" ( (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" * (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0x18))" ( (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0x18)" (subscript_expression "piVar19[0x21]" identifier [ number_literal ]) + (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) )))) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000ca6c0;" goto statement_identifier ;)) (if_statement "if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" if (parenthesized_expression "(*puVar18 != 0)" ( (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" * identifier) != number_literal) )) (compound_statement "{\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" { (do_statement "do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);" do (compound_statement "{\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0xca9c6;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0xca9c6" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000be990();" (call_expression "FUN_000be990()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;" statement_identifier : (expression_statement "uVar13 = (byte)puVar8[7] & 0xf;" (assignment_expression "uVar13 = (byte)puVar8[7] & 0xf" identifier = (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[7]" identifier [ number_literal ])) & number_literal)) ;)) (if_statement "if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" if (parenthesized_expression "(((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff))" ( (binary_expression "((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)" (parenthesized_expression "((char)uVar13 == '\x04')" ( (binary_expression "(char)uVar13 == '\x04'" (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\x04'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" { (labeled_statement "LAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);" statement_identifier : (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" identifier = (pointer_expression "**(int **)(puVar15 + 0x30)" * (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))))) ;)) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (labeled_statement "LAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);" statement_identifier : (expression_statement "iVar14 = *(int *)(iVar7 + 8);" (assignment_expression "iVar14 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar14 == 0) goto LAB_000cac17;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000cac17;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5a48) != 0)" ( (binary_expression "*(int *)(iVar14 + 0x5a48) != 0" (pointer_expression "*(int *)(iVar14 + 0x5a48)" * (cast_expression "(int *)(iVar14 + 0x5a48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5a48)" ( (binary_expression "iVar14 + 0x5a48" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" { (expression_statement "iVar7 = *(int *)(puVar16 + 0x18);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x18)" identifier = (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0xc)" * (cast_expression "(undefined1 **)(puVar16 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0xc)" ( (binary_expression "puVar16 + 0xc" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x50" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0x48)" * (cast_expression "(undefined1 **)(puVar16 + 0x48)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x48)" ( (binary_expression "puVar16 + 0x48" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x50" identifier + number_literal)) ;) (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" identifier = number_literal) ;) (if_statement "if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" { (expression_statement "*(int *)(puVar16 + 0x28) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x28) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x28)" * (cast_expression "(int *)(puVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + 0x18) = iVar7;" (assignment_expression "*(int *)(puVar16 + 0x18) = iVar7" (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca949;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca949" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar10 = strlen(*(char **)(puVar16 + -0x10));" (assignment_expression "sVar10 = strlen(*(char **)(puVar16 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar16 + -0x10))" identifier (argument_list "(*(char **)(puVar16 + -0x10))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar14 = *(int *)(puVar16 + 0x28);" (assignment_expression "iVar14 = *(int *)(puVar16 + 0x28)" identifier = (pointer_expression "*(int *)(puVar16 + 0x28)" * (cast_expression "(int *)(puVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = sVar10 + *(int *)(puVar16 + 0x18);" (assignment_expression "iVar9 = sVar10 + *(int *)(puVar16 + 0x18)" identifier = (binary_expression "sVar10 + *(int *)(puVar16 + 0x18)" identifier + (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) )))))) ;) })) (expression_statement "*(int *)(puVar16 + 0x38) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x38) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar9;" (assignment_expression "*(int *)(puVar16 + -8) = iVar9" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" * (cast_expression "(undefined4 *)(puVar16 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" * (cast_expression "(undefined1 **)(puVar16 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x48" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + 0x28)" * (cast_expression "(undefined1 **)(puVar16 + 0x28)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x48" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca96d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca96d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);" (assignment_expression "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28)" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x28)" * (cast_expression "(undefined4 *)(puVar16 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;" (assignment_expression "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" * (cast_expression "(undefined1 **)(puVar16 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca98a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca98a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007bca0();" (call_expression "FUN_0007bca0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar16 + 0x38);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x38)" identifier = (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" if (parenthesized_expression "(*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8))" ( (binary_expression "*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)" (pointer_expression "*(int *)(puVar16 + 0x44)" * (cast_expression "(int *)(puVar16 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x44)" ( (binary_expression "puVar16 + 0x44" identifier + number_literal) )))) != (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" { (expression_statement "*(int *)(puVar16 + 8) = iVar7;" (assignment_expression "*(int *)(puVar16 + 8) = iVar7" (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);" (assignment_expression "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44)" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar16 + 0x44)" * (cast_expression "(int *)(puVar16 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x44)" ( (binary_expression "puVar16 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar16 + 8);" (assignment_expression "iVar7 = *(int *)(puVar16 + 8)" identifier = (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) ))))) ;) })) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar16 + -4;" (assignment_expression "puVar16 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (iVar7 == 0) goto LAB_000ca9b7;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ca9b7;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" * (cast_expression "(undefined4 *)(puVar16 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x84)" * (cast_expression "(undefined4 *)(puVar16 + 0x84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x84)" ( (binary_expression "puVar16 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;" (assignment_expression "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" * (cast_expression "(int *)(puVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x34)" ( (binary_expression "puVar16 + 0x34" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" * (cast_expression "(int *)(puVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x34)" ( (binary_expression "puVar16 + 0x34" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (goto_statement "goto LAB_000ca745;" goto statement_identifier ;) })) (expression_statement "uVar3 = *puVar18;" (assignment_expression "uVar3 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (if_statement "if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;" if (parenthesized_expression "((uVar3 != 0) && (uVar3 != 0xfffffffe))" ( (binary_expression "(uVar3 != 0) && (uVar3 != 0xfffffffe)" (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar3 != 0xfffffffe)" ( (binary_expression "uVar3 != 0xfffffffe" identifier != number_literal) ))) )) (goto_statement "goto LAB_000cac4b;" goto statement_identifier ;)) (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" identifier = (pointer_expression "**(int **)(puVar15 + 0x30)" * (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (uVar3 == 0xfffffffe) goto LAB_000ca906;" if (parenthesized_expression "(uVar3 == 0xfffffffe)" ( (binary_expression "uVar3 == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) (expression_statement "piVar2 = *(int **)(iVar7 + 0xc);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0xc)" identifier = (pointer_expression "*(int **)(iVar7 + 0xc)" * (cast_expression "(int **)(iVar7 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" { (expression_statement "*(uint **)(puVar15 + -4) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -4) = puVar18" (pointer_expression "*(uint **)(puVar15 + -4)" * (cast_expression "(uint **)(puVar15 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -8) = "target";" (assignment_expression "*(char **)(puVar15 + -8) = "target"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""target"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar2;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar2" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x28);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x28)" identifier = (pointer_expression "*(code **)(iVar7 + 0x28)" * (cast_expression "(code **)(iVar7 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = (*pcVar1)();" (assignment_expression "cVar6 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (labeled_statement "LAB_000ca9b7:\n                uVar13 = *puVar18;" statement_identifier : (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;)) (labeled_statement "joined_r0x000caa5f:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) ;) (goto_statement "goto LAB_000ca73f;" goto statement_identifier ;) })) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""do_count_local_symbols"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x90d;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x90d" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.cc"" " string_content ")) ;) comment (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000ca85c" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" else (compound_statement "{\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" { (labeled_statement "LAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" statement_identifier : (if_statement "if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" if (parenthesized_expression "((puVar8[7] & 0xf) == 3)" ( (binary_expression "(puVar8[7] & 0xf) == 3" (parenthesized_expression "(puVar8[7] & 0xf)" ( (binary_expression "puVar8[7] & 0xf" (subscript_expression "puVar8[7]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }" { (labeled_statement "LAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;" statement_identifier : (if_statement "if (*puVar18 != 0) goto LAB_000cab99;" if (parenthesized_expression "(*puVar18 != 0)" ( (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" * identifier) != number_literal) )) (goto_statement "goto LAB_000cab99;" goto statement_identifier ;))) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (if_statement "if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" { (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""do_count_local_symbols"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x915;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x915" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.cc"" " string_content ")) ;) comment (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000ca7dc" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" else (compound_statement "{\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" { (expression_statement "pcVar1 = *(code **)(*piVar19 + 0x100);" (assignment_expression "pcVar1 = *(code **)(*piVar19 + 0x100)" identifier = (pointer_expression "*(code **)(*piVar19 + 0x100)" * (cast_expression "(code **)(*piVar19 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar19 + 0x100)" ( (binary_expression "*piVar19 + 0x100" (pointer_expression "*piVar19" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" if (parenthesized_expression "(pcVar1 != FUN_000c0270)" ( (binary_expression "pcVar1 != FUN_000c0270" identifier != identifier) )) (compound_statement "{\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" { (expression_statement "puVar15[0x18] = cVar6;" (assignment_expression "puVar15[0x18] = cVar6" (subscript_expression "puVar15[0x18]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint **)(puVar15 + -0xc) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -0xc) = puVar18" (pointer_expression "*(uint **)(puVar15 + -0xc)" * (cast_expression "(uint **)(puVar15 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca79b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca79b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*pcVar1)();" (assignment_expression "cVar5 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar6 = puVar15[0x18];" (assignment_expression "cVar6 = puVar15[0x18]" identifier = (subscript_expression "puVar15[0x18]" identifier [ number_literal ])) ;) (if_statement "if (cVar5 == '\0') goto LAB_000ca7ab;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca7ab;" goto statement_identifier ;)) })) (expression_statement "uVar13 = puVar8[4];" (assignment_expression "uVar13 = puVar8[4]" identifier = (subscript_expression "puVar8[4]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44)" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(uint *)(puVar15 + 0x44)" * (cast_expression "(uint *)(puVar15 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" if (parenthesized_expression "(*(uint *)(puVar15 + 0x44) <= uVar13)" ( (binary_expression "*(uint *)(puVar15 + 0x44) <= uVar13" (pointer_expression "*(uint *)(puVar15 + 0x44)" * (cast_expression "(uint *)(puVar15 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" { (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";" (assignment_expression "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""local symbol %u section name out of range: %u >= %u"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar15 + -0x20) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x20) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x20)" * (cast_expression "(int **)(puVar15 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (goto_statement "goto joined_r0x000caa5f;" goto statement_identifier ;) })) (expression_statement "uVar3 = puVar18[1];" (assignment_expression "uVar3 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" if (parenthesized_expression "(uVar3 != 0xffffffff)" ( (binary_expression "uVar3 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" { (expression_statement "puVar15[0x28] = cVar6;" (assignment_expression "puVar15[0x28] = cVar6" (subscript_expression "puVar15[0x28]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + -0xc)" * (cast_expression "(uint *)(puVar15 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x88)" * (cast_expression "(undefined4 *)(puVar15 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x88)" ( (binary_expression "puVar15 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca71d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca71d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;" (assignment_expression "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" * (cast_expression "(int *)(puVar15 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" * (cast_expression "(int *)(puVar15 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "cVar6 = puVar15[0x28];" (assignment_expression "cVar6 = puVar15[0x28]" identifier = (subscript_expression "puVar15[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }" if (parenthesized_expression "(puVar15[0x27] == '\0')" ( (binary_expression "puVar15[0x27] == '\0'" (subscript_expression "puVar15[0x27]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }" { (if_statement "if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 3)" ( (binary_expression "*(int *)(puVar15 + 0x20) != 3" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" { (if_statement "if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) == 2)" ( (binary_expression "*(int *)(puVar15 + 0x20) == 2" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x20) != 0" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (if_statement "if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;" if (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)" ( (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" * (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" ( (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4" (subscript_expression "piVar19[0x21]" identifier [ number_literal ]) + (binary_expression "*(int *)(puVar15 + 0xc) * 4" (pointer_expression "*(int *)(puVar15 + 0xc)" * (cast_expression "(int *)(puVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;) })) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (if_statement "if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "((uVar13 != 0) && (uVar13 != 0xfffffffe))" ( (binary_expression "(uVar13 != 0) && (uVar13 != 0xfffffffe)" (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar13 != 0xfffffffe)" ( (binary_expression "uVar13 != 0xfffffffe" identifier != number_literal) ))) )) (compound_statement "{\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" { (labeled_statement "LAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;" statement_identifier : (expression_statement "*(uint *)(puVar15 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar13" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";" (assignment_expression "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""may_be_discarded_from_output_symtab"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x6f2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x6f2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcac64;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcac64" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (uVar13 == 0xfffffffe) goto LAB_000ca900;" if (parenthesized_expression "(uVar13 == 0xfffffffe)" ( (binary_expression "uVar13 == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) }) (else_clause "else {\n                uVar13 = *puVar18;\n              }" else (compound_statement "{\n                uVar13 = *puVar18;\n              }" { (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) }))) (if_statement "if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" { (labeled_statement "LAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" statement_identifier : (expression_statement "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" (assignment_expression "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_no_output_symtab_entry"" " string_content ")) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000ca73f:\n              *puVar18 = 0xffffffff;" statement_identifier : (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;)) })))) }))) (labeled_statement "LAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" statement_identifier : (expression_statement "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" (assignment_expression "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8))" ( (binary_expression "*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8)" (pointer_expression "*(int *)(puVar15 + 0x10)" * (cast_expression "(int *)(puVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) )))) != (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) )) ;) }))) (expression_statement "iVar7 = *(int *)(puVar15 + 0x80);" (assignment_expression "iVar7 = *(int *)(puVar15 + 0x80)" identifier = (pointer_expression "*(int *)(puVar15 + 0x80)" * (cast_expression "(int *)(puVar15 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb4)" * (cast_expression "(undefined4 *)(iVar7 + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xb4)" ( (binary_expression "iVar7 + 0xb4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb8)" * (cast_expression "(undefined4 *)(iVar7 + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xb8)" ( (binary_expression "iVar7 + 0xb8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "LAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;" statement_identifier : comment (expression_statement "*(undefined4 *)(puVar17 + -4) = 0xcac4b;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0xcac4b" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void 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  off_t *poVar1;\n  bool bVar2;\n  uint uVar3;\n  Input_file *pIVar4;\n  _func_int_varargs *p_Var5;\n  uint uVar6;\n  General_options *pGVar7;\n  Discard_locals DVar8;\n  uint uVar9;\n  Output_section *pOVar10;\n  pointer pcVar11;\n  byte bVar12;\n  uchar *puVar13;\n  uint *puVar14;\n  Sized_relobj_file<32,_false> *pSVar15;\n  __bucket_type *pp_Var16;\n  int iVar17;\n  char *format;\n  Xindex *this_00;\n  char cVar18;\n  byte bVar19;\n  off_t start;\n  Sized_relobj_file<32,_false> *pSVar20;\n  Sized_relobj_file<32,_false> *this_01;\n  Object *in_stack_ffffff84;\n  uint local_74;\n  uint local_70;\n  Sized_relobj_file<32,_false> *local_64;\n  uchar *local_60;\n  uint local_50;\n  uint local_48;\n  int iStack_40;\n  section_size_type strtab_size;\n  Location loc;\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  pSVar20 = (Sized_relobj_file<32,_false> *)&this->elf_file_;\n  start = elfcpp::Elf_file<32,_false,_gold::Object>::section_header_offset\n                    ((Elf_file<32,_false,_gold::Object> *)pSVar20,uVar3);\n  pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n  if (pIVar4 != (Input_file *)0x0) {\n    puVar13 = File_read::get_view(&pIVar4->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    pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n    if (pIVar4 != (Input_file *)0x0) {\n      puVar14 = (uint *)File_read::get_view(&pIVar4->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,\n                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,\n                                            true);\n      local_64 = *(Sized_relobj_file<32,_false> **)(puVar13 + 0x18);\n      if ((Sized_relobj_file<32,_false> *)0xfeff < local_64) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20);\n        local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_);\n      }\n      p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];\n      if (p_Var5 == do_section_contents) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);\n        if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }\n        local_60 = "";\n        strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;\n        local_64 = pSVar20;\n        if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84);\n}\n\n" comment 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  off_t *poVar1;" 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{\n  off_t" 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) (pointer_declarator "*poVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Input_file *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "_func_int_varargs *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "General_options *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "Discard_locals DVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "Output_section *pOVar10;" type_identifier (pointer_declarator "*pOVar10" * identifier) ;) (declaration "pointer pcVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (expression_statement "Sized_relobj_file<32,_false> *pSVar15;" (update_expression "Sized_relobj_file<32,_false> *pSVar15" (binary_expression "Sized_relobj_file<32,_false> *pSVar15" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar15" * identifier)) --) ;) (declaration "__bucket_type *pp_Var16;" type_identifier (pointer_declarator "*pp_Var16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "Xindex *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "off_t start;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<32,_false> *pSVar20;" (update_expression "Sized_relobj_file<32,_false> *pSVar20" (binary_expression "Sized_relobj_file<32,_false> *pSVar20" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar20" * identifier)) --) ;) (expression_statement "Sized_relobj_file<32,_false> *this_01;" (update_expression "Sized_relobj_file<32,_false> *this_01" (binary_expression "Sized_relobj_file<32,_false> *this_01" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_01" * identifier)) --) ;) (declaration "Object *in_stack_ffffff84;" type_identifier (pointer_declarator "*in_stack_ffffff84" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<32,_false> *local_64;" (update_expression "Sized_relobj_file<32,_false> *local_64" (binary_expression "Sized_relobj_file<32,_false> *local_64" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_64" * identifier)) --) ;) (declaration "uchar *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "int iStack_40;" primitive_type identifier ;) (declaration "section_size_type strtab_size;" type_identifier identifier ;) (declaration "Location loc;" 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 "pSVar20 = (Sized_relobj_file<32,_false> *)&this->elf_file_;" (assignment_expression "pSVar20 = (Sized_relobj_file<32,_false> *)&this->elf_file_" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&this->elf_file_" (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))) )) & (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> *)pSVar20,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> *)pSVar20,uVar3);" (comma_expression "Object> *)pSVar20,uVar3" (binary_expression "Object> *)pSVar20" identifier > (pointer_expression "*)pSVar20" * (ERROR ")" )) identifier)) , identifier) (ERROR ")" )) ;)) (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (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)) ;) (ERROR "if (pIVar4 != (Input_file *)0x0) {\n    puVar13 = File_read::get_view(&pIVar4->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    pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n    if (pIVar4 != (Input_file *)0x0) {\n      puVar14 = (uint *)File_read::get_view(&pIVar4->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,\n                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,\n                                            true);\n      local_64 = *(Sized_relobj_file<32,_false> **)(puVar13 + 0x18);\n      if ((Sized_relobj_file<32,_false> *)0xfeff < local_64) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20);\n        local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_);\n      }\n      p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];\n      if (p_Var5 == do_section_contents) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);\n        if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }\n        local_60 = "";\n        strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;\n        local_64 = pSVar20;\n        if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84);\n}" if (parenthesized_expression "(pIVar4 != (Input_file *)0x0)" ( (binary_expression "pIVar4 != (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(&pIVar4->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true);" (call_expression "get_view(&pIVar4->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true)" identifier (argument_list "(&pIVar4->file_,\n                                  (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  offset_,start,0x28,true,true)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->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 "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (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 "(pIVar4 != (Input_file *)0x0)" ( (binary_expression "pIVar4 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (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(&pIVar4->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,\n                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,\n                                            true);" (call_expression "get_view(&pIVar4->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,\n                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,\n                                            true)" identifier (argument_list "(&pIVar4->file_,\n                                            (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                            super_Object.offset_,\n                                            (ulonglong)*(uint *)(puVar13 + 0x10),uVar3 << 4,true,\n                                            true)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->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 "(ulonglong)*(uint *)(puVar13 + 0x10)" (parenthesized_expression "(ulonglong)" ( 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) )))) , (binary_expression "uVar3 << 4" identifier << number_literal) , true , true ))) ;) (expression_statement "local_64 = *(Sized_relobj_file<32,_false> **)(puVar13 + 0x18);" (assignment_expression "local_64 = *(Sized_relobj_file<32,_false> **)(puVar13 + 0x18)" identifier = (pointer_expression "*(Sized_relobj_file<32,_false> **)(puVar13 + 0x18)" * (call_expression "(Sized_relobj_file<32,_false> **)(puVar13 + 0x18)" (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 "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(puVar13 + 0x18)" ( (binary_expression "puVar13 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((Sized_relobj_file<32,_false> *)0xfeff < local_64) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20);\n        local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_);\n      }" if (parenthesized_expression "((Sized_relobj_file<32,_false> *)0xfeff < local_64)" ( (parenthesized_expression "(Sized_relobj_file<32,_false> *)0xfeff < local_64)" ( (comma_expression "Sized_relobj_file<32,_false> *)0xfeff < local_64" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)0xfeff < local_64" (binary_expression "_false> *)0xfeff" identifier > (pointer_expression "*)0xfeff" * (ERROR ")" )) number_literal)) < identifier)) )) )) (compound_statement "{\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20);\n        local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (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> *)pSVar20);" 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> *)pSVar20);" (binary_expression "Object> *)pSVar20" identifier > (pointer_expression "*)pSVar20" * (ERROR ")" )) identifier)) (ERROR ")" )) ;)) (expression_statement "local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_);" (assignment_expression "local_64 = (Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" identifier > (pointer_expression "*)\n                   ((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" * (ERROR ")" )) (parenthesized_expression "((int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_)" ( (binary_expression "(int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object + (this->elf_file_).large_shndx_offset_" (cast_expression "(int)&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object" & (field_expression "(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object" (field_expression "(local_64->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(local_64->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(local_64->super_Sized_relobj<32,_false>)" ( (comma_expression "local_64->super_Sized_relobj<32,_false" (binary_expression "local_64->super_Sized_relobj<32" (field_expression "local_64->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_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_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xe];" (assignment_expression "p_Var5 = (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_Var5 == do_section_contents) {\n        elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);\n        if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }\n        local_60 = "";\n        strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;\n        local_64 = pSVar20;\n        if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84);\n}" if (parenthesized_expression "(p_Var5 == do_section_contents)" ( (binary_expression "p_Var5 == do_section_contents" identifier == identifier) )) (compound_statement "{\n        elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);\n        if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }\n        local_60 = "";\n        strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;\n        local_64 = pSVar20;\n        if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84);\n}" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::section_contents\n                  ((Elf_file<32,_false,_gold::Object> *)pSVar20,(uint)local_64);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>::section_contents\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> *)pSVar20,(uint)local_64);" (comma_expression "Object> *)pSVar20,(uint)local_64" (binary_expression "Object> *)pSVar20" identifier > (pointer_expression "*)pSVar20" * (ERROR ")" )) identifier)) , (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier)) (ERROR ")" )) ;)) (if_statement "if (loc.data_size._4_4_ != 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }" if (parenthesized_expression "(loc.data_size._4_4_ != 0)" ( (binary_expression "loc.data_size._4_4_ != 0" (field_expression "loc.data_size._4_4_" (field_expression "loc.data_size" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "local_60 = "";" (assignment_expression "local_60 = """ identifier = (string_literal """" " ")) ;) (expression_statement "strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size;" (assignment_expression "strtab_size = (section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size" identifier = (call_expression "(section_size_type)(Sized_relobj_file<32,_false> *)loc.data_size" (parenthesized_expression "(section_size_type)" ( identifier )) (argument_list "(Sized_relobj_file<32,_false> *)loc.data_size" ( (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)loc.data_size" identifier > (pointer_expression "*)loc.data_size" * (ERROR ")" )) (field_expression "loc.data_size" identifier . field_identifier))) )))) ;) (expression_statement "local_64 = pSVar20;" (assignment_expression "local_64 = pSVar20" identifier = identifier) ;) (if_statement "if ((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84);" if (parenthesized_expression "((Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84)" ( (parenthesized_expression "(Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else {\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }\n      this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84)" ( (ERROR "Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0) {\n          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }\n      }\n      else {\n        local_60 = (uchar *)(*p_Var5)();\n      }\n      uVar6 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\n      pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0) {\nLAB_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      bVar2 = (pGVar7->strip_all_).value;\n      DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2) {\n        local_50 = 0;\n        local_48 = 0;\n      }\n      else" (comma_expression "Sized_relobj_file<32,_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)loc.data_size != (Sized_relobj_file<32,_false> *)0x0)" (binary_expression "_false> *)loc.data_size" identifier > (pointer_expression "*)loc.data_size" * (ERROR ")" )) (field_expression "loc.data_size" identifier . field_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          pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;\n          if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;\n          local_60 = File_read::get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);\n          local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;\n        }" { (expression_statement "pIVar4 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar4 = (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_statement "if (pIVar4 == (Input_file *)0x0) goto LAB_000cac46;" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cac46;" goto statement_identifier ;)) (ERROR "local_60 = File_read::" (assignment_expression "local_60 = File_read" identifier = identifier) : :) (expression_statement "get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true);" (call_expression "get_view(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true)" identifier (argument_list "(&pIVar4->file_,\n                                         (this->super_Sized_relobj<32,_false>).super_Relobj.\n                                         super_Object.offset_,\n                                         CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset),\n                                         (section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->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) , (call_expression "CONCAT44(loc.file_offset._4_4_,(off_t *)loc.file_offset)" identifier (argument_list "(loc.file_offset._4_4_,(off_t *)loc.file_offset)" ( (field_expression "loc.file_offset._4_4_" (field_expression "loc.file_offset" identifier . field_identifier) . field_identifier) , (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) ))) , (call_expression "(section_size_type)\n                                         (Sized_relobj_file<32,_false> *)loc.data_size,true,true)" (parenthesized_expression "(section_size_type)" ( identifier )) (argument_list "(Sized_relobj_file<32,_false> *)loc.data_size,true,true)" ( (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)loc.data_size" identifier > (pointer_expression "*)loc.data_size" * (ERROR ")" )) (field_expression "loc.data_size" identifier . field_identifier))) , true , true ))) ))) ;) (expression_statement "local_64 = (Sized_relobj_file<32,_false> *)loc.data_size;" (assignment_expression "local_64 = (Sized_relobj_file<32,_false> *)loc.data_size" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)loc.data_size" ( (comma_expression "Sized_relobj_file<32,_false> *)loc.data_size" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)loc.data_size" identifier > (pointer_expression "*)loc.data_size" * (ERROR ")" )) (field_expression "loc.data_size" identifier . field_identifier)))) ))) ;) }) } else (compound_statement "{\n        local_60 = (uchar *)(*p_Var5)();\n      }" { (expression_statement "local_60 = (uchar *)(*p_Var5)();" (assignment_expression "local_60 = (uchar *)(*p_Var5)()" identifier = (cast_expression "(uchar *)(*p_Var5)()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var5)()" (parenthesized_expression "(*p_Var5)" ( (pointer_expression "*p_Var5" * identifier) )) (argument_list "()" ( ))))) ;) }) (assignment_expression "uVar6 = (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)) ; (call_expression "pGVar7 = parameters->options_;\n      if (pGVar7 == (General_options *)0x0)" (assignment_expression "pGVar7 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) (ERROR ";\n      if" ; if) (argument_list "(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_000cac17:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }" { (labeled_statement "LAB_000cac17:\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 ") ))) ;)) }) (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)) ; (call_expression "DVar8 = pGVar7->discard_locals_;\n      if (uVar3 < 2)" (assignment_expression "DVar8 = pGVar7->discard_locals_" identifier = (field_expression "pGVar7->discard_locals_" identifier -> field_identifier)) (ERROR ";\n      if" ; if) (argument_list "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) ))) (compound_statement "{\n        local_50 = 0;\n        local_48 = 0;\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) }) else) (compound_statement "{\n        local_50 = 0;\n        local_74 = 1;\n        local_48 = 0;\n        do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (do_statement "do {\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        } while (uVar3 != local_74);" do (compound_statement "{\n          local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);\n          pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);\n          if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }\n          bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';\n          *(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;\n          bVar19 = (byte)puVar14[7] & 0xf;\n          if (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }\n          (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];\n          if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }\nLAB_000ca745:\n          local_74 = local_74 + 1;\n          puVar14 = puVar14 + 4;\n        }" { (expression_statement "local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e);" (assignment_expression "local_70 = (uint)*(ushort *)((int)puVar14 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar14 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar14 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x1e)" ( (binary_expression "(int)puVar14 + 0x1e" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74);" (assignment_expression "pSVar20 = (Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" identifier > (pointer_expression "*)\n                    ((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" * (ERROR ")" )) (parenthesized_expression "((this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74)" ( (binary_expression "(this->local_values_).\n                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                     ._M_impl._M_start + local_74" (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) + identifier) ))))) ))) ;) (if_statement "if (local_70 < 0xff00) {\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }\n          else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }" if (parenthesized_expression "(local_70 < 0xff00)" ( (binary_expression "local_70 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar18 = '\x01';\nLAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);\n          }" { (expression_statement "cVar18 = '\x01';" (assignment_expression "cVar18 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_000ca65e:\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);" statement_identifier : (expression_statement "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);" (assignment_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70)" (field_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)" ( (cast_expression "(__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier) = (cast_expression "(_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70)" ( (binary_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70" (binary_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000" (field_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt" (call_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)" ( (cast_expression "(__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ))) -> field_identifier) & number_literal) | identifier) )))) ;)) }) (else_clause "else {\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }" else (compound_statement "{\n            cVar18 = '\0';\n            if (local_70 != 0xffff) goto LAB_000ca65e;\n            this_00 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (this_00 == (Xindex *)0x0) {\n              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }\n            local_64 = this;\n            local_70 = Xindex::sym_xindex_to_shndx(this_00,(Object *)this,local_74);\n            ((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);\n            if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }\n            cVar18 = '\x01';\n          }" { (expression_statement "cVar18 = '\0';" (assignment_expression "cVar18 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_70 != 0xffff) goto LAB_000ca65e;" if (parenthesized_expression "(local_70 != 0xffff)" ( (binary_expression "local_70 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_000ca65e;" 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              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\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              this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();\n              (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n            }" { (expression_statement "this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])();" (assignment_expression "this_00 = (Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])()" identifier = (cast_expression "(Xindex *)\n                        (*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])()" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x1b])()" (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 "()" ( ))))) ;) (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) ;) })) (expression_statement "local_64 = this;" (assignment_expression "local_64 = this" identifier = identifier) ;) (ERROR "local_70 = Xindex::" (assignment_expression "local_70 = Xindex" identifier = identifier) : :) (expression_statement "sym_xindex_to_shndx(this_00,(Object *)this,local_74);" (call_expression "sym_xindex_to_shndx(this_00,(Object *)this,local_74)" identifier (argument_list "(this_00,(Object *)this,local_74)" ( identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);" (assignment_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt =\n                 (_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff)" (field_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length)" ( (cast_expression "(__node_base *)\n            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n             _M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier) = (cast_expression "(_Hash_node_base *)\n                 ((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff)" ( (binary_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff" (binary_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt & 0xf8000000" (field_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)->_M_nxt" (call_expression "(uint)((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length)" ( (cast_expression "(__node_base *)\n                        &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                         _M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ))) -> field_identifier) & number_literal) | (binary_expression "local_70 & 0x7ffffff" identifier & number_literal)) )))) ;) (if_statement "if ((local_70 & 0x7ffffff) != local_70) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x755,"set_input_shndx");\n            }" if (parenthesized_expression "((local_70 & 0x7ffffff) != local_70)" ( (binary_expression "(local_70 & 0x7ffffff) != local_70" (parenthesized_expression "(local_70 & 0x7ffffff)" ( (binary_expression "local_70 & 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 "cVar18 = '\x01';" (assignment_expression "cVar18 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b';" (assignment_expression "bVar12 = *(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b'" identifier = (binary_expression "*(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |\n                   cVar18 * '\b'" (binary_expression "*(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7" (pointer_expression "*(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3)" * (cast_expression "(byte *)((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3)" ( (binary_expression "(int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt + 3" (cast_expression "(int)&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt" & (field_expression "((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length)" ( (cast_expression "(__node_base *)\n                                   &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_._M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.\n                                    super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier))) + number_literal) )))) & number_literal) | (binary_expression "cVar18 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12;" (assignment_expression "*(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3) = bVar12" (pointer_expression "*(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3)" * (cast_expression "(byte *)((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3)" ( (binary_expression "(int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt + 3" (cast_expression "(int)&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt" & (field_expression "((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length)" ( (cast_expression "(__node_base *)\n                          &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                           _M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "bVar19 = (byte)puVar14[7] & 0xf;" (assignment_expression "bVar19 = (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 (bVar19 == 3) {\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }\n          else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" if (parenthesized_expression "(bVar19 == 3)" ( (binary_expression "bVar19 == 3" identifier == number_literal) )) (compound_statement "{\n            if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;\n          }" { (if_statement "if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x76a,"set_is_section_symbol");\n            }" if (parenthesized_expression "((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff)" ( (binary_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p != (pointer)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_._M_dataplus" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) 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 *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;" (assignment_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10" (pointer_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" * (cast_expression "(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (binary_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3" (cast_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" & (field_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)" ( (cast_expression "(__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier))) + number_literal) )))) = (binary_expression "bVar12 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" else (if_statement "if (bVar19 == 6) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }\n          else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" if (parenthesized_expression "(bVar19 == 6)" ( (binary_expression "bVar19 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;\n          }" { (expression_statement "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;" (assignment_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20" (pointer_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" * (cast_expression "(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (binary_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3" (cast_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" & (field_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)" ( (cast_expression "(__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier))) + number_literal) )))) = (binary_expression "bVar12 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" else (if_statement "if (bVar19 == 10) {\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" if (parenthesized_expression "(bVar19 == 10)" ( (binary_expression "bVar19 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;\n          }" { (expression_statement "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;" (assignment_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40" (pointer_expression "*(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" * (cast_expression "(byte *)((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3)" ( (binary_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt + 3" (cast_expression "(int)&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" & (field_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)->_M_nxt" (parenthesized_expression "((__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length)" ( (cast_expression "(__node_base *)\n                            &(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" & (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_._M_string_length" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                             name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) -> field_identifier))) + number_literal) )))) = (binary_expression "bVar12 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5];" (assignment_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity = puVar14[5]" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2.\n          _M_allocated_capacity" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.field_2" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (subscript_expression "puVar14[5]" identifier [ number_literal ])) ;) (if_statement "if ((local_70 < uVar6) && (cVar18 != '\0')) {\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }" if (parenthesized_expression "((local_70 < uVar6) && (cVar18 != '\0'))" ( (binary_expression "(local_70 < uVar6) && (cVar18 != '\0')" (parenthesized_expression "(local_70 < uVar6)" ( (binary_expression "local_70 < uVar6" identifier < identifier) )) && (parenthesized_expression "(cVar18 != '\0')" ( (binary_expression "cVar18 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pOVar10 = (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[local_70];\n            if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;\n            pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);\n            if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }\n            pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;\n            (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;\n            if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }\n          }" { (expression_statement "pOVar10 = (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[local_70];" (subscript_expression "pOVar10 = (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[local_70]" (field_expression "pOVar10 = (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 "pOVar10 = (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 "pOVar10 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar10 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar10 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar10 = (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 ]) ;) (if_statement "if ((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;" if (parenthesized_expression "((pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1))))" ( (binary_expression "(pOVar10 != (Output_section *)0x0) &&\n               ((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))" (parenthesized_expression "(pOVar10 != (Output_section *)0x0)" ( (binary_expression "pOVar10 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)))" ( (parenthesized_expression "(pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1))" ( (binary_expression "pOVar10->order_ != ORDER_EHFRAME ||\n                (*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)" (binary_expression "pOVar10->order_ != ORDER_EHFRAME" (field_expression "pOVar10->order_" identifier -> field_identifier) != identifier) || (parenthesized_expression "(*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1)" ( (binary_expression "*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start) != -1" (pointer_expression "*(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start)" * (cast_expression "(int *)((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_start)" ( (ERROR "(int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std::" (comma_expression "(int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int,_std" (binary_expression "(int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base<unsigned_int" (binary_expression "(int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object +\n                         (int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base" (cast_expression "(int)&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object" & (field_expression "(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                _vptr_Object" (field_expression "(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false>)" ( (comma_expression "((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32,_false" (binary_expression "((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj<32" (field_expression "((Sized_relobj_file<32,_false> *)(local_70 * 4))->\n                                super_Sized_relobj" (parenthesized_expression "((Sized_relobj_file<32,_false> *)(local_70 * 4))" ( (call_expression "(Sized_relobj_file<32,_false> *)(local_70 * 4)" (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_70 * 4)" ( (binary_expression "local_70 * 4" identifier * number_literal) ))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) + (cast_expression "(int)(this->super_Sized_relobj<32,_false>).section_offsets_.\n                              super__Vector_base" ( (type_descriptor "int" primitive_type) ) (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) : :) (field_expression "allocator<unsigned_int>_>.\n                              _M_impl._M_start" (field_expression "allocator<unsigned_int>_>.\n                              _M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )))) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000ca6c0;" goto statement_identifier ;)) (expression_statement "pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4);" (assignment_expression "pSVar15 = (Sized_relobj_file<32,_false> *)(local_70 * 4)" identifier = (call_expression "(Sized_relobj_file<32,_false> *)(local_70 * 4)" (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_70 * 4)" ( (binary_expression "local_70 * 4" identifier * number_literal) )))) ;) (if_statement "if ((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0) {\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }" if (parenthesized_expression "((__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0)" ( (binary_expression "(__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                (__bucket_type *)0x0" (cast_expression "(__bucket_type *)\n                (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);\n              goto LAB_000ca73f;\n            }" { (do_statement "do {\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              } while (pp_Var16 != (__bucket_type *)0x0);" do (compound_statement "{\n                local_64 = pSVar15;\n                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);\nLAB_000ca9d0:\n                pSVar15 = local_64;\n                if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n                if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }\n                this_01 = local_64;\n                iVar17 = (*parameters->target_->_vptr_Target[10])();\n                if ((char)iVar17 == '\0') goto LAB_000ca906;\nLAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = local_64;\n                local_64 = this_01;\njoined_r0x000caa5f:\n              }" { (expression_statement "local_64 = pSVar15;" (assignment_expression "local_64 = pSVar15" identifier = identifier) ;) (expression_statement "Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);" (binary_expression "Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84)" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84)" identifier (argument_list "((Symbol_value<32> *)in_stack_ffffff84)" ( (parenthesized_expression "(Symbol_value<32> *)in_stack_ffffff84)" ( (binary_expression "Symbol_value<32> *)in_stack_ffffff84" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)in_stack_ffffff84" * (ERROR ")" )) identifier)) )) )))) ;) (labeled_statement "LAB_000ca9d0:\n                pSVar15 = local_64;" statement_identifier : (expression_statement "pSVar15 = local_64;" (assignment_expression "pSVar15 = local_64" identifier = identifier) ;)) (if_statement "if (((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)) {\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }" if (parenthesized_expression "(((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff))" ( (binary_expression "((puVar14[7] & 0xf) == 4) ||\n                   ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)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 "((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff)" ( (binary_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p != (pointer)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus._M_p" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                    _M_dataplus" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ))) )) (compound_statement "{\nLAB_000ca906:\n                  local_64 = pSVar15;\n                  pGVar7 = parameters->options_;\n                  if (pGVar7 == (General_options *)0x0) goto LAB_000cac17;\n                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }\n                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);\n                  local_48 = local_48 + 1;\n                  goto LAB_000ca745;\n                }" { (labeled_statement "LAB_000ca906:\n                  local_64 = pSVar15;" statement_identifier : (expression_statement "local_64 = pSVar15;" (assignment_expression "local_64 = pSVar15" identifier = 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_000cac17;" 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_000cac17;" goto statement_identifier ;)) (if_statement "if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }" 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) )) (compound_statement "{\n                    poVar1 = &loc.data_size;\n                    loc.file_offset._0_4_ = poVar1;\n                    if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();\n                    this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;\n                    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                            *)this_01,(key_type *)&loc);\n                    if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }\n                    if (iStack_40 == 0) goto LAB_000ca9b7;\n                  }" { (expression_statement "poVar1 = &loc.data_size;" (assignment_expression "poVar1 = &loc.data_size" identifier = (pointer_expression "&loc.data_size" & (field_expression "loc.data_size" identifier . field_identifier))) ;) (expression_statement "loc.file_offset._0_4_ = poVar1;" (assignment_expression "loc.file_offset._0_4_ = poVar1" (field_expression "loc.file_offset._0_4_" (field_expression "loc.file_offset" identifier . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (local_64 != (Sized_relobj_file<32,_false> *)0x0) {\n                      strlen((char *)local_64);\n                    }" if (parenthesized_expression "(local_64 != (Sized_relobj_file<32,_false> *)0x0)" ( (binary_expression "local_64 != (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                      strlen((char *)local_64);\n                    }" { (expression_statement "strlen((char *)local_64);" (call_expression "strlen((char *)local_64)" identifier (argument_list "((char *)local_64)" ( (cast_expression "(char *)local_64" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::_M_construct<char_const*>();" 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*>();" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (expression_statement "this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_;" (assignment_expression "this_01 = (Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&pGVar7->symbols_to_retain_" (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))) )) & (field_expression "pGVar7->symbols_to_retain_" identifier -> field_identifier))) ;) (ERROR "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::" (comma_expression "std::\n                    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n                    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "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) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                    ::find((_Hashtable<std::__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                            *)this_01,(key_type *)&loc);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                    ::find((_Hashtable<std::__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                            *)this_01,(key_type *)&loc);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                    ::find((_Hashtable<std::__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                            *)this_01,(key_type *)&loc);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                    ::find((_Hashtable<std::__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                            *)this_01,(key_type *)&loc);" statement_identifier : (ERROR ":" :) (expression_statement "_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                            *)this_01,(key_type *)&loc);" (comma_expression "_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                            *)this_01,(key_type *)&loc)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_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                            *)this_01,(key_type *)&loc)" identifier , (binary_expression "_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                            *)this_01,(key_type *)&loc)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "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                            *)this_01,(key_type *)&loc)" identifier (argument_list "((_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                            *)this_01,(key_type *)&loc)" ( (parenthesized_expression "(_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                            *)this_01,(key_type *)&loc)" ( (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::" (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                            *)this_01,(key_type *)&loc" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                            *)this_01,(key_type *)&loc" identifier , (comma_expression "_true>_>\n                            *)this_01,(key_type *)&loc" (binary_expression "_true>_>\n                            *)this_01" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)this_01" * (ERROR ")" )) identifier)) , (cast_expression "(key_type *)&loc" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&loc" & identifier))))) )) )))))) ;))))) (if_statement "if ((off_t *)loc.file_offset != poVar1) {\n                      operator_delete((off_t *)loc.file_offset);\n                    }" if (parenthesized_expression "((off_t *)loc.file_offset != poVar1)" ( (binary_expression "(off_t *)loc.file_offset != poVar1" (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) != identifier) )) (compound_statement "{\n                      operator_delete((off_t *)loc.file_offset);\n                    }" { (expression_statement "operator_delete((off_t *)loc.file_offset);" (call_expression "operator_delete((off_t *)loc.file_offset)" identifier (argument_list "((off_t *)loc.file_offset)" ( (cast_expression "(off_t *)loc.file_offset" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "loc.file_offset" identifier . field_identifier)) ))) ;) })) (if_statement "if (iStack_40 == 0) goto LAB_000ca9b7;" if (parenthesized_expression "(iStack_40 == 0)" ( (binary_expression "iStack_40 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ca9b7;" goto statement_identifier ;)) })) (expression_statement "Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);" (binary_expression "Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(pool,(char *)local_64,true,(Key *)0x0)" identifier (argument_list "(pool,(char *)local_64,true,(Key *)0x0)" ( identifier , (cast_expression "(char *)local_64" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000ca745;" goto statement_identifier ;) })) (expression_statement "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (cast_expression "(__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) (if_statement "if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                goto LAB_000cac4b;" if (parenthesized_expression "((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))" ( (binary_expression "(pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe)" (parenthesized_expression "(pp_Var16 != (__bucket_type *)0x0)" ( (binary_expression "pp_Var16 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pp_Var16 != (__bucket_type *)0xfffffffe)" ( (binary_expression "pp_Var16 != (__bucket_type *)0xfffffffe" identifier != (cast_expression "(__bucket_type *)0xfffffffe" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000cac4b;" goto statement_identifier ;)) (if_statement "if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;" if (parenthesized_expression "(pp_Var16 == (__bucket_type *)0xfffffffe)" ( (binary_expression "pp_Var16 == (__bucket_type *)0xfffffffe" identifier == (cast_expression "(__bucket_type *)0xfffffffe" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) (if_statement "if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "this_01 = local_64;" (assignment_expression "this_01 = local_64" identifier = identifier) ;) (expression_statement "iVar17 = (*parameters->target_->_vptr_Target[10])();" (assignment_expression "iVar17 = (*parameters->target_->_vptr_Target[10])()" identifier = (call_expression "(*parameters->target_->_vptr_Target[10])()" (parenthesized_expression "(*parameters->target_->_vptr_Target[10])" ( (pointer_expression "*parameters->target_->_vptr_Target[10]" * (subscript_expression "parameters->target_->_vptr_Target[10]" (field_expression "parameters->target_->_vptr_Target" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (if_statement "if ((char)iVar17 == '\0') goto LAB_000ca906;" if (parenthesized_expression "((char)iVar17 == '\0')" ( (binary_expression "(char)iVar17 == '\0'" (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) (labeled_statement "LAB_000ca9b7:\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" statement_identifier : (expression_statement "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (cast_expression "(__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;)) (expression_statement "pSVar15 = local_64;" (assignment_expression "pSVar15 = local_64" identifier = identifier) ;) (expression_statement "local_64 = this_01;" (assignment_expression "local_64 = this_01" identifier = identifier) ;) (labeled_statement "joined_r0x000caa5f:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(pp_Var16 != (__bucket_type *)0x0)" ( (binary_expression "pp_Var16 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_000ca73f;" goto statement_identifier ;) })) (expression_statement "pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p;" (assignment_expression "pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p" identifier = (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus._M_p" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                      _M_dataplus" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff;" (assignment_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                 (_func_int_varargs **)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x90d,"do_count_local_symbols");\n            }" if (parenthesized_expression "(pcVar11 != (pointer)0xffffffff)" ( (binary_expression "pcVar11 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) 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_clause "else {\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }" else (compound_statement "{\nLAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }\n          }" { (labeled_statement "LAB_000ca6c0:\n            if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }" statement_identifier : (if_statement "if (((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }\n            else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }" if (parenthesized_expression "(((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0'))))" ( (binary_expression "((puVar14[7] & 0xf) == 3) ||\n               ((p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\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_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))" ( (parenthesized_expression "(p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0'))" ( (comma_expression "p_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')" (assignment_expression "p_Var5 = (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_Var5 != do_adjust_local_symbol &&\n                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')" (binary_expression "p_Var5 != do_adjust_local_symbol" identifier != identifier) && (parenthesized_expression "(local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')" ( (comma_expression "local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0'" (assignment_expression "local_64 = pSVar20" identifier = identifier) , (comma_expression "iVar17 = (*p_Var5)(), (char)iVar17 == '\0'" (assignment_expression "iVar17 = (*p_Var5)()" identifier = (call_expression "(*p_Var5)()" (parenthesized_expression "(*p_Var5)" ( (pointer_expression "*p_Var5" * identifier) )) (argument_list "()" ( )))) , (binary_expression "(char)iVar17 == '\0'" (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')))) )))) )) ))) )) (compound_statement "{\n              if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;\n              pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n              if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }\n            }" { (if_statement "if ((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0) goto LAB_000cab99;" if (parenthesized_expression "((__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0)" ( (binary_expression "(__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object !=\n                  (__bucket_type *)0x0" (cast_expression "(__bucket_type *)\n                  (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cab99;" goto statement_identifier ;)) (expression_statement "pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p;" (assignment_expression "pcVar11 = (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p" identifier = (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus._M_p" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                        _M_dataplus" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;" (assignment_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (pcVar11 != (pointer)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.cc",0x915,"do_count_local_symbols");\n              }" if (parenthesized_expression "(pcVar11 != (pointer)0xffffffff)" ( (binary_expression "pcVar11 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) 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 ") ))) ;) })) }) (else_clause "else {\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }" else (compound_statement "{\n              uVar9 = puVar14[4];\n              if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }\n              pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);\n              if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }\n              if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }\n              if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }\nLAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;\n            }" { (expression_statement "uVar9 = puVar14[4];" (assignment_expression "uVar9 = puVar14[4]" identifier = (subscript_expression "puVar14[4]" identifier [ number_literal ])) ;) (if_statement "if (strtab_size <= uVar9) {\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }" if (parenthesized_expression "(strtab_size <= uVar9)" ( (binary_expression "strtab_size <= uVar9" identifier <= identifier) )) (compound_statement "{\n                format = (char *)gettext();\n                Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;\n                goto joined_r0x000caa5f;\n              }" { (expression_statement "format = (char *)gettext();" (assignment_expression "format = (char *)gettext()" identifier = (cast_expression "(char *)gettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "Object::error((Object *)this,format,local_74,uVar9,strtab_size,local_64);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,format,local_74,uVar9,strtab_size,local_64);" (call_expression "error((Object *)this,format,local_74,uVar9,strtab_size,local_64)" identifier (argument_list "((Object *)this,format,local_74,uVar9,strtab_size,local_64)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (cast_expression "(__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size;" (assignment_expression "pSVar15 = (Sized_relobj_file<32,_false> *)strtab_size" identifier = (parenthesized_expression "(Sized_relobj_file<32,_false> *)strtab_size" ( (comma_expression "Sized_relobj_file<32,_false> *)strtab_size" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)strtab_size" identifier > (pointer_expression "*)strtab_size" * (ERROR ")" )) identifier))) ))) ;) (goto_statement "goto joined_r0x000caa5f;" goto statement_identifier ;) })) (expression_statement "pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9);" (assignment_expression "pSVar15 = (Sized_relobj_file<32,_false> *)(local_60 + uVar9)" identifier = (call_expression "(Sized_relobj_file<32,_false> *)(local_60 + uVar9)" (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_60 + uVar9)" ( (binary_expression "local_60 + uVar9" identifier + identifier) )))) ;) (if_statement "if ((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff) {\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }" if (parenthesized_expression "((pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff)" ( (binary_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p != (pointer)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus._M_p" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_.\n                  _M_dataplus" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.name_" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                local_64 = pSVar15;\n                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);\n                local_50 = local_50 + 1;\n              }" { (expression_statement "local_64 = pSVar15;" (assignment_expression "local_64 = pSVar15" identifier = identifier) ;) (expression_statement "Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);" (binary_expression "Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(dynpool,(char *)pSVar15,true,(Key *)0x0)" identifier (argument_list "(dynpool,(char *)pSVar15,true,(Key *)0x0)" ( identifier , (cast_expression "(char *)pSVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar2 == false) {\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }\n              else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }" if (parenthesized_expression "(bVar2 == false)" ( (binary_expression "bVar2 == false" identifier == false) )) (compound_statement "{\n                if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n                if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }\n                if (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;\n              }" { (if_statement "if (DVar8 != DISCARD_ALL) {\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }" if (parenthesized_expression "(DVar8 != DISCARD_ALL)" ( (binary_expression "DVar8 != DISCARD_ALL" identifier != identifier) )) (compound_statement "{\n                  local_64 = pSVar15;\n                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;\n                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;\n                  if (cVar18 == '\0') goto LAB_000ca906;\n                  if ((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;\n                  goto LAB_000ca906;\n                }" { (expression_statement "local_64 = pSVar15;" (assignment_expression "local_64 = pSVar15" identifier = identifier) ;) (if_statement "if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;" if (parenthesized_expression "(DVar8 == DISCARD_LOCALS)" ( (binary_expression "DVar8 == DISCARD_LOCALS" identifier == identifier) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (if_statement "if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;" if (parenthesized_expression "(DVar8 != DISCARD_SEC_MERGE)" ( (binary_expression "DVar8 != DISCARD_SEC_MERGE" identifier != identifier) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) (if_statement "if (cVar18 == '\0') goto LAB_000ca906;" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca906;" 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.\n                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;" if (parenthesized_expression "((this->super_Sized_relobj<32,_false>).section_offsets_.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70] == 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.\n                      _M_start[local_70] == 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_start[local_70]" (field_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) == number_literal) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;) })) (expression_statement "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (cast_expression "(__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) (if_statement "if ((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))\n                {\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }" if (parenthesized_expression "((pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe))" ( (binary_expression "(pp_Var16 != (__bucket_type *)0x0) && (pp_Var16 != (__bucket_type *)0xfffffffe)" (parenthesized_expression "(pp_Var16 != (__bucket_type *)0x0)" ( (binary_expression "pp_Var16 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pp_Var16 != (__bucket_type *)0xfffffffe)" ( (binary_expression "pp_Var16 != (__bucket_type *)0xfffffffe" identifier != (cast_expression "(__bucket_type *)0xfffffffe" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");\n                }" { (labeled_statement "LAB_000cac4b:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab");" (call_expression "do_gold_unreachable("../../gold/object.h",0x6f2,\n                                      "may_be_discarded_from_output_symtab")" identifier (argument_list "("../../gold/object.h",0x6f2,\n                                      "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 (pp_Var16 == (__bucket_type *)0xfffffffe) goto LAB_000ca906;" if (parenthesized_expression "(pp_Var16 == (__bucket_type *)0xfffffffe)" ( (binary_expression "pp_Var16 == (__bucket_type *)0xfffffffe" identifier == (cast_expression "(__bucket_type *)0xfffffffe" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) }) (else_clause "else {\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }" else (compound_statement "{\n                pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n              }" { (expression_statement "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "pp_Var16 = (__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (cast_expression "(__bucket_type *)\n                           (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) }))) (if_statement "if (pp_Var16 != (__bucket_type *)0x0) {\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }" if (parenthesized_expression "(pp_Var16 != (__bucket_type *)0x0)" ( (binary_expression "pp_Var16 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n              }" { (labeled_statement "LAB_000cab99:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");" statement_identifier : 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 ") ))) ;)) })) (labeled_statement "LAB_000ca73f:\n              (pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;" statement_identifier : (expression_statement "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff;" (assignment_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object =\n                   (_func_int_varargs **)0xffffffff" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar20->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar20->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar20->super_Sized_relobj<32,_false" (binary_expression "pSVar20->super_Sized_relobj<32" (field_expression "pSVar20->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) })))) }))) (labeled_statement "LAB_000ca745:\n          local_74 = local_74 + 1;" statement_identifier : (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;)) (expression_statement "puVar14 = puVar14 + 4;" (assignment_expression "puVar14 = puVar14 + 4" identifier = (binary_expression "puVar14 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != local_74)" ( (binary_expression "uVar3 != local_74" identifier != identifier) )) ;) }) (ERROR "this->output_local_symbol_count_ = local_48;\n      this->output_local_dynsym_count_ = local_50;\n      return;\n    }\n  }\nLAB_000cac46:\n                    /* WARNING: Subroutine does not return */\n  Object::input_file(in_stack_ffffff84" identifier -> identifier = identifier ; identifier -> identifier = identifier ; return ; } } identifier : comment identifier : : identifier ( identifier) )) )) (expression_statement ";" ;)) }))))
(translation_unit "void FUN_000ca490(int *param_1)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}\n\n" (function_definition "void FUN_000ca490(int *param_1)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" primitive_type (function_declarator "FUN_000ca490(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int unaff_retaddr;" primitive_type identifier ;) (declaration "undefined1 auStack_7c [16];" type_identifier (array_declarator "auStack_7c [16]" identifier [ number_literal ]) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xca499;" (assignment_expression "uStack_14 = 0xca499" identifier = number_literal) ;) (expression_statement "iVar7 = param_1[0x2b];" (assignment_expression "iVar7 = param_1[0x2b]" identifier = (subscript_expression "param_1[0x2b]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" { (expression_statement "FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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 (iVar7 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "piVar19 = param_1 + 0x24;" (assignment_expression "piVar19 = param_1 + 0x24" identifier = (binary_expression "param_1 + 0x24" identifier + number_literal)) ;) (expression_statement "uVar20 = FUN_000c52b0(piVar19,iVar7);" (assignment_expression "uVar20 = FUN_000c52b0(piVar19,iVar7)" identifier = (call_expression "FUN_000c52b0(piVar19,iVar7)" identifier (argument_list "(piVar19,iVar7)" ( identifier , identifier )))) ;) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" identifier = identifier) ;) (if_statement "if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" { (expression_statement "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);" (assignment_expression "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" identifier = (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , identifier , number_literal , number_literal )))) ;) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" identifier = identifier) ;) (if_statement "if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 2)" ( (binary_expression "*(int *)(iVar7 + 4) != 2" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" { (expression_statement "FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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 "local_6c = param_1[0x2c];" (assignment_expression "local_6c = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (if_statement "if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" if (parenthesized_expression "(local_6c != *(int *)(iVar7 + 0x1c))" ( (binary_expression "local_6c != *(int *)(iVar7 + 0x1c)" identifier != (pointer_expression "*(int *)(iVar7 + 0x1c)" * (cast_expression "(int *)(iVar7 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" { (expression_statement "FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../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[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" { (expression_statement "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);" (assignment_expression "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" identifier = (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" identifier (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" ( (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[8]" identifier [ number_literal ]) , (subscript_expression "param_1[9]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) , number_literal , (binary_expression "local_6c << 4" identifier << number_literal) , number_literal ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar7 + 0x18);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x18)" * (cast_expression "(uint *)(iVar7 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" if (parenthesized_expression "(0xfeff < uVar13)" ( (binary_expression "0xfeff < uVar13" number_literal < identifier) )) (compound_statement "{\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" { (expression_statement "FUN_000c47d0(piVar19);" (call_expression "FUN_000c47d0(piVar19)" identifier (argument_list "(piVar19)" ( identifier ))) ;) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" identifier = (binary_expression "uVar13 + param_1[0x29]" identifier + (subscript_expression "param_1[0x29]" identifier [ number_literal ]))) ;) })) (expression_statement "puVar15 = auStack_7c;" (assignment_expression "puVar15 = auStack_7c" identifier = identifier) ;) (if_statement "if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" if (parenthesized_expression "(*(code **)(*param_1 + 0x38) == FUN_000c5550)" ( (binary_expression "*(code **)(*param_1 + 0x38) == FUN_000c5550" (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }" { (expression_statement "FUN_000c5480(&local_34,piVar19,uVar13);" (call_expression "FUN_000c5480(&local_34,piVar19,uVar13)" identifier (argument_list "(&local_34,piVar19,uVar13)" ( (pointer_expression "&local_34" & identifier) , identifier , identifier ))) ;) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (if_statement "if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" if (parenthesized_expression "(local_2c != 0)" ( (binary_expression "local_2c != 0" identifier != number_literal) )) (compound_statement "{\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" { (expression_statement "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);" (call_expression "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",local_2c)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "local_3c = local_30;" (assignment_expression "local_3c = local_30" identifier = identifier) ;) (expression_statement "local_64 = &DAT_00257c6b;" (assignment_expression "local_64 = &DAT_00257c6b" identifier = (pointer_expression "&DAT_00257c6b" & identifier)) ;) (if_statement "if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" { (if_statement "if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;" if (parenthesized_expression "(*(int *)(unaff_retaddr + 0x1c) == 0)" ( (binary_expression "*(int *)(unaff_retaddr + 0x1c) == 0" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" * (cast_expression "(int *)(unaff_retaddr + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x1c)" ( (binary_expression "unaff_retaddr + 0x1c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000cac46;" goto statement_identifier ;)) (expression_statement "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);" (assignment_expression "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" identifier = (cast_expression "(undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" identifier (argument_list "(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" ( (binary_expression "*(int *)(unaff_retaddr + 0x1c) + 0x1c" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" * (cast_expression "(int *)(unaff_retaddr + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x1c)" ( (binary_expression "unaff_retaddr + 0x1c" identifier + number_literal) )))) + number_literal) , (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x20)" * (cast_expression "(undefined4 *)(unaff_retaddr + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x20)" ( (binary_expression "unaff_retaddr + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x24)" * (cast_expression "(undefined4 *)(unaff_retaddr + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_retaddr + 0x24)" ( (binary_expression "unaff_retaddr + 0x24" identifier + number_literal) )))) , identifier , identifier , identifier , number_literal , number_literal ))))) ;) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) })) }) (else_clause "else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" else (compound_statement "{\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" { (expression_statement "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);" (assignment_expression "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" identifier = (call_expression "(**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar13,&local_38)" ( identifier , identifier , (pointer_expression "&local_38" & identifier) )))) ;) }))) (expression_statement "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x14)" * (cast_expression "(undefined4 *)(puVar15 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" * (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x80) + 0x28)" ( (binary_expression "*(int *)(puVar15 + 0x80) + 0x28" (pointer_expression "*(int *)(puVar15 + 0x80)" * (cast_expression "(int *)(puVar15 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0;" (assignment_expression "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0" (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))) = (pointer_expression "&DAT_0033f2f0" & identifier)) ;) (expression_statement "iVar7 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_0033f2f0 + 8)" identifier = (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" * (cast_expression "(int *)(DAT_0033f2f0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0033f2f0 + 8)" ( (binary_expression "DAT_0033f2f0 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" { (labeled_statement "LAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;" statement_identifier : (expression_statement "*(int *)(puVar16 + -4) = iVar7;" (assignment_expression "*(int *)(puVar16 + -4) = iVar7" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar16 + -8) = "options";" (assignment_expression "*(char **)(puVar16 + -8) = "options"" (pointer_expression "*(char **)(puVar16 + -8)" * (cast_expression "(char **)(puVar16 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (string_literal ""options"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar11 = *(undefined4 *)(iVar7 + 0x5a78);" (assignment_expression "uVar11 = *(undefined4 *)(iVar7 + 0x5a78)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 0x5a78)" * (cast_expression "(undefined4 *)(iVar7 + 0x5a78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5a78)" ( (binary_expression "iVar7 + 0x5a78" identifier + number_literal) ))))) ;) (expression_statement "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);" (assignment_expression "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469)" (subscript_expression "puVar15[0x27]" identifier [ number_literal ]) = (pointer_expression "*(undefined1 *)(iVar7 + 0x3469)" * (cast_expression "(undefined1 *)(iVar7 + 0x3469)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x3469)" ( (binary_expression "iVar7 + 0x3469" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x20) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + 0x20) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" * (cast_expression "(undefined4 *)(puVar15 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" if (parenthesized_expression "(*(uint *)(puVar15 + 0x10) < 2)" ( (binary_expression "*(uint *)(puVar15 + 0x10) < 2" (pointer_expression "*(uint *)(puVar15 + 0x10)" * (cast_expression "(uint *)(puVar15 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }" { (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" else (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" { (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar19 = *(int **)(puVar15 + 0x80);" (assignment_expression "piVar19 = *(int **)(puVar15 + 0x80)" identifier = (pointer_expression "*(int **)(puVar15 + 0x80)" * (cast_expression "(int **)(puVar15 + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) )))) = number_literal) ;) (do_statement "do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));" do (compound_statement "{\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        }" { (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar8 + 0x1e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar8 + 0x1e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 0x1e)" ( (binary_expression "(int)puVar8 + 0x1e" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);" (assignment_expression "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" identifier = (cast_expression "(uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" ( (binary_expression "*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]" (binary_expression "*(int *)(puVar15 + 8) * 0x10" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) * number_literal) + (subscript_expression "piVar19[0x37]" identifier [ number_literal ])) )))) ;) (if_statement "if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" if (parenthesized_expression "(uVar13 < 0xff00)" ( (binary_expression "uVar13 < 0xff00" identifier < number_literal) )) (compound_statement "{\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }" { (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" statement_identifier : (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = (binary_expression "puVar18[2] & 0xf8000000 | uVar13" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" identifier [ number_literal ]) & number_literal) | identifier)) ;)) }) (else_clause "else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" else (compound_statement "{\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" { (expression_statement "cVar6 = '\0';" (assignment_expression "cVar6 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (uVar13 != 0xffff) goto LAB_000ca65e;" if (parenthesized_expression "(uVar13 != 0xffff)" ( (binary_expression "uVar13 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_000ca65e;" goto statement_identifier ;)) (expression_statement "iVar7 = piVar19[0xc];" (assignment_expression "iVar7 = piVar19[0xc]" identifier = (subscript_expression "piVar19[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" { (expression_statement "iVar7 = *piVar19;" (assignment_expression "iVar7 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x6c)" identifier = (pointer_expression "*(code **)(iVar7 + 0x6c)" * (cast_expression "(code **)(iVar7 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*pcVar1)();" (assignment_expression "iVar7 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar19[0xc] = iVar7;" (assignment_expression "piVar19[0xc] = iVar7" (subscript_expression "piVar19[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + -0xc) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0xc) = piVar19" (pointer_expression "*(int **)(puVar15 + -0xc)" * (cast_expression "(int **)(puVar15 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar15 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca889;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca889" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = FUN_000beba0();" (assignment_expression "uVar13 = FUN_000beba0()" identifier = (call_expression "FUN_000beba0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = (binary_expression "puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" identifier [ number_literal ]) & number_literal) | (binary_expression "uVar13 & 0x7ffffff" identifier & number_literal))) ;) (if_statement "if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" if (parenthesized_expression "((uVar13 & 0x7ffffff) != uVar13)" ( (binary_expression "(uVar13 & 0x7ffffff) != uVar13" (parenthesized_expression "(uVar13 & 0x7ffffff)" ( (binary_expression "uVar13 & 0x7ffffff" identifier & number_literal) )) != identifier) )) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" { (expression_statement "*(char **)(puVar15 + -8) = "set_input_shndx";" (assignment_expression "*(char **)(puVar15 + -8) = "set_input_shndx"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_input_shndx"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x755;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x755" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcab99;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcab99" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (expression_statement "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';" (assignment_expression "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" identifier = (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "cVar6 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar12 = (byte)puVar8[7] & 0xf;" (assignment_expression "bVar12 = (byte)puVar8[7] & 0xf" identifier = (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[7]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 3)" ( (binary_expression "bVar12 == 3" identifier == number_literal) )) (compound_statement "{\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }" { (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" { (expression_statement "*(char **)(puVar15 + -8) = "set_is_section_symbol";" (assignment_expression "*(char **)(puVar15 + -8) = "set_is_section_symbol"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_is_section_symbol"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x76a;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x76a" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x10" identifier | number_literal)) ;) }) (else_clause "else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" else (if_statement "if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 6)" ( (binary_expression "bVar12 == 6" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }" { (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x20" identifier | number_literal)) ;) }) (else_clause "else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" else (if_statement "if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" if (parenthesized_expression "(bVar12 == 10)" ( (binary_expression "bVar12 == 10" identifier == number_literal) )) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" { (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" * (cast_expression "(byte *)((int)puVar18 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 0xb)" ( (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar4 | 0x40" identifier | number_literal)) ;) })))))) (expression_statement "puVar18[3] = puVar8[5];" (assignment_expression "puVar18[3] = puVar8[5]" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = (subscript_expression "puVar8[5]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = *(uint *)(puVar15 + 0xc);" (assignment_expression "uVar13 = *(uint *)(puVar15 + 0xc)" identifier = (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" if (parenthesized_expression "((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0'))" ( (binary_expression "(uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')" (parenthesized_expression "(uVar13 < *(uint *)(puVar15 + 0x14))" ( (binary_expression "uVar13 < *(uint *)(puVar15 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar15 + 0x14)" * (cast_expression "(uint *)(puVar15 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) ))))) )) && (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }" { (expression_statement "*(uint *)(puVar15 + 0x18) = uVar13 << 2;" (assignment_expression "*(uint *)(puVar15 + 0x18) = uVar13 << 2" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (binary_expression "uVar13 << 2" identifier << number_literal)) ;) (expression_statement "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4)" identifier = (pointer_expression "*(int *)(piVar19[0xe] + uVar13 * 4)" * (cast_expression "(int *)(piVar19[0xe] + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0xe] + uVar13 * 4)" ( (binary_expression "piVar19[0xe] + uVar13 * 4" (subscript_expression "piVar19[0xe]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;" if (parenthesized_expression "((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))))" ( (binary_expression "(iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" ( (parenthesized_expression "(*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))" ( (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf" (pointer_expression "*(int *)(iVar7 + 0x5c)" * (cast_expression "(int *)(iVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5c)" ( (binary_expression "iVar7 + 0x5c" identifier + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" ( (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" * (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0x18))" ( (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0x18)" (subscript_expression "piVar19[0x21]" identifier [ number_literal ]) + (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) )))) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000ca6c0;" goto statement_identifier ;)) (if_statement "if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" if (parenthesized_expression "(*puVar18 != 0)" ( (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" * identifier) != number_literal) )) (compound_statement "{\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" { (do_statement "do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);" do (compound_statement "{\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0xca9c6;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0xca9c6" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000be990();" (call_expression "FUN_000be990()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;" statement_identifier : (expression_statement "uVar13 = (byte)puVar8[7] & 0xf;" (assignment_expression "uVar13 = (byte)puVar8[7] & 0xf" identifier = (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[7]" identifier [ number_literal ])) & number_literal)) ;)) (if_statement "if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" if (parenthesized_expression "(((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff))" ( (binary_expression "((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)" (parenthesized_expression "((char)uVar13 == '\x04')" ( (binary_expression "(char)uVar13 == '\x04'" (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\x04'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" { (labeled_statement "LAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);" statement_identifier : (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" identifier = (pointer_expression "**(int **)(puVar15 + 0x30)" * (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))))) ;)) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (labeled_statement "LAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);" statement_identifier : (expression_statement "iVar14 = *(int *)(iVar7 + 8);" (assignment_expression "iVar14 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (iVar14 == 0) goto LAB_000cac17;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000cac17;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5a48) != 0)" ( (binary_expression "*(int *)(iVar14 + 0x5a48) != 0" (pointer_expression "*(int *)(iVar14 + 0x5a48)" * (cast_expression "(int *)(iVar14 + 0x5a48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5a48)" ( (binary_expression "iVar14 + 0x5a48" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" { (expression_statement "iVar7 = *(int *)(puVar16 + 0x18);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x18)" identifier = (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0xc)" * (cast_expression "(undefined1 **)(puVar16 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0xc)" ( (binary_expression "puVar16 + 0xc" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x50" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0x48)" * (cast_expression "(undefined1 **)(puVar16 + 0x48)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x48)" ( (binary_expression "puVar16 + 0x48" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x50" identifier + number_literal)) ;) (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" identifier = number_literal) ;) (if_statement "if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" { (expression_statement "*(int *)(puVar16 + 0x28) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x28) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x28)" * (cast_expression "(int *)(puVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + 0x18) = iVar7;" (assignment_expression "*(int *)(puVar16 + 0x18) = iVar7" (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca949;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca949" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar10 = strlen(*(char **)(puVar16 + -0x10));" (assignment_expression "sVar10 = strlen(*(char **)(puVar16 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar16 + -0x10))" identifier (argument_list "(*(char **)(puVar16 + -0x10))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar14 = *(int *)(puVar16 + 0x28);" (assignment_expression "iVar14 = *(int *)(puVar16 + 0x28)" identifier = (pointer_expression "*(int *)(puVar16 + 0x28)" * (cast_expression "(int *)(puVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = sVar10 + *(int *)(puVar16 + 0x18);" (assignment_expression "iVar9 = sVar10 + *(int *)(puVar16 + 0x18)" identifier = (binary_expression "sVar10 + *(int *)(puVar16 + 0x18)" identifier + (pointer_expression "*(int *)(puVar16 + 0x18)" * (cast_expression "(int *)(puVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) )))))) ;) })) (expression_statement "*(int *)(puVar16 + 0x38) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x38) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar9;" (assignment_expression "*(int *)(puVar16 + -8) = iVar9" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" * (cast_expression "(undefined4 *)(puVar16 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" * (cast_expression "(undefined1 **)(puVar16 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x48" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + 0x28)" * (cast_expression "(undefined1 **)(puVar16 + 0x28)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x48" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca96d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca96d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);" (assignment_expression "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28)" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x28)" * (cast_expression "(undefined4 *)(puVar16 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x28)" ( (binary_expression "puVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;" (assignment_expression "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" * (cast_expression "(undefined1 **)(puVar16 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "puVar16 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca98a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca98a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007bca0();" (call_expression "FUN_0007bca0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar16 + 0x38);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x38)" identifier = (pointer_expression "*(int *)(puVar16 + 0x38)" * (cast_expression "(int *)(puVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x38)" ( (binary_expression "puVar16 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" if (parenthesized_expression "(*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8))" ( (binary_expression "*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)" (pointer_expression "*(int *)(puVar16 + 0x44)" * (cast_expression "(int *)(puVar16 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x44)" ( (binary_expression "puVar16 + 0x44" identifier + number_literal) )))) != (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" { (expression_statement "*(int *)(puVar16 + 8) = iVar7;" (assignment_expression "*(int *)(puVar16 + 8) = iVar7" (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);" (assignment_expression "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44)" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar16 + 0x44)" * (cast_expression "(int *)(puVar16 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x44)" ( (binary_expression "puVar16 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar16 + 8);" (assignment_expression "iVar7 = *(int *)(puVar16 + 8)" identifier = (pointer_expression "*(int *)(puVar16 + 8)" * (cast_expression "(int *)(puVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 8)" ( (binary_expression "puVar16 + 8" identifier + number_literal) ))))) ;) })) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar16 + -4;" (assignment_expression "puVar16 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (iVar7 == 0) goto LAB_000ca9b7;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ca9b7;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" * (cast_expression "(undefined4 *)(puVar16 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x18)" ( (binary_expression "puVar16 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar16 + 0x84)" * (cast_expression "(undefined4 *)(puVar16 + 0x84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x84)" ( (binary_expression "puVar16 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;" (assignment_expression "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" * (cast_expression "(int *)(puVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x34)" ( (binary_expression "puVar16 + 0x34" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" * (cast_expression "(int *)(puVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x34)" ( (binary_expression "puVar16 + 0x34" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (goto_statement "goto LAB_000ca745;" goto statement_identifier ;) })) (expression_statement "uVar3 = *puVar18;" (assignment_expression "uVar3 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (if_statement "if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;" if (parenthesized_expression "((uVar3 != 0) && (uVar3 != 0xfffffffe))" ( (binary_expression "(uVar3 != 0) && (uVar3 != 0xfffffffe)" (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar3 != 0xfffffffe)" ( (binary_expression "uVar3 != 0xfffffffe" identifier != number_literal) ))) )) (goto_statement "goto LAB_000cac4b;" goto statement_identifier ;)) (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" identifier = (pointer_expression "**(int **)(puVar15 + 0x30)" * (pointer_expression "*(int **)(puVar15 + 0x30)" * (cast_expression "(int **)(puVar15 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (if_statement "if (uVar3 == 0xfffffffe) goto LAB_000ca906;" if (parenthesized_expression "(uVar3 == 0xfffffffe)" ( (binary_expression "uVar3 == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_000ca906;" goto statement_identifier ;)) (expression_statement "piVar2 = *(int **)(iVar7 + 0xc);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0xc)" identifier = (pointer_expression "*(int **)(iVar7 + 0xc)" * (cast_expression "(int **)(iVar7 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" { (expression_statement "*(uint **)(puVar15 + -4) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -4) = puVar18" (pointer_expression "*(uint **)(puVar15 + -4)" * (cast_expression "(uint **)(puVar15 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -8) = "target";" (assignment_expression "*(char **)(puVar15 + -8) = "target"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""target"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar2;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar2" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x28);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x28)" identifier = (pointer_expression "*(code **)(iVar7 + 0x28)" * (cast_expression "(code **)(iVar7 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = (*pcVar1)();" (assignment_expression "cVar6 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (labeled_statement "LAB_000ca9b7:\n                uVar13 = *puVar18;" statement_identifier : (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;)) (labeled_statement "joined_r0x000caa5f:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) ;) (goto_statement "goto LAB_000ca73f;" goto statement_identifier ;) })) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""do_count_local_symbols"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x90d;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x90d" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.cc"" " string_content ")) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000ca85c" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" else (compound_statement "{\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" { (labeled_statement "LAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" statement_identifier : (if_statement "if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" if (parenthesized_expression "((puVar8[7] & 0xf) == 3)" ( (binary_expression "(puVar8[7] & 0xf) == 3" (parenthesized_expression "(puVar8[7] & 0xf)" ( (binary_expression "puVar8[7] & 0xf" (subscript_expression "puVar8[7]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }" { (labeled_statement "LAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;" statement_identifier : (if_statement "if (*puVar18 != 0) goto LAB_000cab99;" if (parenthesized_expression "(*puVar18 != 0)" ( (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" * identifier) != number_literal) )) (goto_statement "goto LAB_000cab99;" goto statement_identifier ;))) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (if_statement "if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" if (parenthesized_expression "(puVar18[1] != 0xffffffff)" ( (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" { (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""do_count_local_symbols"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x915;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x915" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.cc"" " string_content ")) ;) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc" (pointer_expression "*(undefined **)(puVar15 + -0x14)" * (cast_expression "(undefined **)(puVar15 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000ca7dc" & identifier)) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" else (compound_statement "{\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" { (expression_statement "pcVar1 = *(code **)(*piVar19 + 0x100);" (assignment_expression "pcVar1 = *(code **)(*piVar19 + 0x100)" identifier = (pointer_expression "*(code **)(*piVar19 + 0x100)" * (cast_expression "(code **)(*piVar19 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar19 + 0x100)" ( (binary_expression "*piVar19 + 0x100" (pointer_expression "*piVar19" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" if (parenthesized_expression "(pcVar1 != FUN_000c0270)" ( (binary_expression "pcVar1 != FUN_000c0270" identifier != identifier) )) (compound_statement "{\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" { (expression_statement "puVar15[0x18] = cVar6;" (assignment_expression "puVar15[0x18] = cVar6" (subscript_expression "puVar15[0x18]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint **)(puVar15 + -0xc) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -0xc) = puVar18" (pointer_expression "*(uint **)(puVar15 + -0xc)" * (cast_expression "(uint **)(puVar15 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" * (cast_expression "(int **)(puVar15 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca79b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca79b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*pcVar1)();" (assignment_expression "cVar5 = (*pcVar1)()" identifier = (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar6 = puVar15[0x18];" (assignment_expression "cVar6 = puVar15[0x18]" identifier = (subscript_expression "puVar15[0x18]" identifier [ number_literal ])) ;) (if_statement "if (cVar5 == '\0') goto LAB_000ca7ab;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca7ab;" goto statement_identifier ;)) })) (expression_statement "uVar13 = puVar8[4];" (assignment_expression "uVar13 = puVar8[4]" identifier = (subscript_expression "puVar8[4]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44)" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(uint *)(puVar15 + 0x44)" * (cast_expression "(uint *)(puVar15 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" if (parenthesized_expression "(*(uint *)(puVar15 + 0x44) <= uVar13)" ( (binary_expression "*(uint *)(puVar15 + 0x44) <= uVar13" (pointer_expression "*(uint *)(puVar15 + 0x44)" * (cast_expression "(uint *)(puVar15 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x44)" ( (binary_expression "puVar15 + 0x44" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" { (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" * (cast_expression "(uint *)(puVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";" (assignment_expression "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""local symbol %u section name out of range: %u >= %u"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" * (cast_expression "(undefined4 *)(puVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" * (cast_expression "(undefined4 *)(puVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x18)" ( (binary_expression "puVar15 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 8)" * (cast_expression "(undefined4 *)(puVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" * (cast_expression "(undefined4 *)(puVar15 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x1c)" ( (binary_expression "puVar15 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar15 + -0x20) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x20) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x20)" * (cast_expression "(int **)(puVar15 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x20)" ( (binary_expression "puVar15 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" * (cast_expression "(undefined4 *)(puVar15 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x24)" ( (binary_expression "puVar15 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (goto_statement "goto joined_r0x000caa5f;" goto statement_identifier ;) })) (expression_statement "uVar3 = puVar18[1];" (assignment_expression "uVar3 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + 0x18)" * (cast_expression "(uint *)(puVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" if (parenthesized_expression "(uVar3 != 0xffffffff)" ( (binary_expression "uVar3 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" { (expression_statement "puVar15[0x28] = cVar6;" (assignment_expression "puVar15[0x28] = cVar6" (subscript_expression "puVar15[0x28]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + -0xc)" * (cast_expression "(uint *)(puVar15 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" * (cast_expression "(int *)(puVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x88)" * (cast_expression "(undefined4 *)(puVar15 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x88)" ( (binary_expression "puVar15 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca71d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca71d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;" (assignment_expression "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" * (cast_expression "(int *)(puVar15 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" * (cast_expression "(int *)(puVar15 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "cVar6 = puVar15[0x28];" (assignment_expression "cVar6 = puVar15[0x28]" identifier = (subscript_expression "puVar15[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }" if (parenthesized_expression "(puVar15[0x27] == '\0')" ( (binary_expression "puVar15[0x27] == '\0'" (subscript_expression "puVar15[0x27]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }" { (if_statement "if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 3)" ( (binary_expression "*(int *)(puVar15 + 0x20) != 3" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" { (if_statement "if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) == 2)" ( (binary_expression "*(int *)(puVar15 + 0x20) == 2" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;" if (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x20) != 0" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) (if_statement "if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;" if (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)" ( (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" * (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" ( (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4" (subscript_expression "piVar19[0x21]" identifier [ number_literal ]) + (binary_expression "*(int *)(puVar15 + 0xc) * 4" (pointer_expression "*(int *)(puVar15 + 0xc)" * (cast_expression "(int *)(puVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_000ca9d0;" goto statement_identifier ;)) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;) })) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (if_statement "if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" if (parenthesized_expression "((uVar13 != 0) && (uVar13 != 0xfffffffe))" ( (binary_expression "(uVar13 != 0) && (uVar13 != 0xfffffffe)" (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar13 != 0xfffffffe)" ( (binary_expression "uVar13 != 0xfffffffe" identifier != number_literal) ))) )) (compound_statement "{\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" { (labeled_statement "LAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;" statement_identifier : (expression_statement "*(uint *)(puVar15 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar13" (pointer_expression "*(uint *)(puVar15 + -4)" * (cast_expression "(uint *)(puVar15 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";" (assignment_expression "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""may_be_discarded_from_output_symtab"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x6f2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x6f2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcac64;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcac64" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (uVar13 == 0xfffffffe) goto LAB_000ca900;" if (parenthesized_expression "(uVar13 == 0xfffffffe)" ( (binary_expression "uVar13 == 0xfffffffe" identifier == number_literal) )) (goto_statement "goto LAB_000ca900;" goto statement_identifier ;)) }) (else_clause "else {\n                uVar13 = *puVar18;\n              }" else (compound_statement "{\n                uVar13 = *puVar18;\n              }" { (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) }))) (if_statement "if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" { (labeled_statement "LAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" statement_identifier : (expression_statement "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" (assignment_expression "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry"" (pointer_expression "*(char **)(puVar15 + -8)" * (cast_expression "(char **)(puVar15 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (string_literal ""set_no_output_symtab_entry"" " string_content ")) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" * (cast_expression "(char **)(puVar15 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000ca73f:\n              *puVar18 = 0xffffffff;" statement_identifier : (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" * identifier) = number_literal) ;)) })))) }))) (labeled_statement "LAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" statement_identifier : (expression_statement "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" (assignment_expression "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8))" ( (binary_expression "*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8)" (pointer_expression "*(int *)(puVar15 + 0x10)" * (cast_expression "(int *)(puVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) )))) != (pointer_expression "*(int *)(puVar15 + 8)" * (cast_expression "(int *)(puVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 8)" ( (binary_expression "puVar15 + 8" identifier + number_literal) ))))) )) ;) }))) (expression_statement "iVar7 = *(int *)(puVar15 + 0x80);" (assignment_expression "iVar7 = *(int *)(puVar15 + 0x80)" identifier = (pointer_expression "*(int *)(puVar15 + 0x80)" * (cast_expression "(int *)(puVar15 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x80)" ( (binary_expression "puVar15 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb4)" * (cast_expression "(undefined4 *)(iVar7 + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xb4)" ( (binary_expression "iVar7 + 0xb4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" * (cast_expression "(undefined4 *)(puVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x34)" ( (binary_expression "puVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb8)" * (cast_expression "(undefined4 *)(iVar7 + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xb8)" ( (binary_expression "iVar7 + 0xb8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" * (cast_expression "(undefined4 *)(puVar15 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2c)" ( (binary_expression "puVar15 + 0x2c" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "LAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;" statement_identifier : (expression_statement "*(undefined4 *)(puVar17 + -4) = 0xcac4b;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0xcac4b" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = 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 ]) , (subscript_expression IDENT [ LIT ]) , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (binary_expression IDENT << LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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) )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (do_statement do (compound_statement { (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 TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (subscript_expression 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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 TYPE) ) 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 TYPE) ) 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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 TYPE) ) 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 TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) })))))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_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 (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (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 (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_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 ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (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)) ;)) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * 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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) })))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_000ca490(int *param_1)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" (primitive_type "void") (function_declarator "FUN_000ca490(int *param_1)" (identifier "FUN_000ca490") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  code *pcVar1;\n  int *piVar2;\n  uint uVar3;\n  byte bVar4;\n  char cVar5;\n  char cVar6;\n  int iVar7;\n  uint *puVar8;\n  int iVar9;\n  size_t sVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  int *piVar19;\n  undefined8 uVar20;\n  int unaff_retaddr;\n  undefined1 auStack_7c [16];\n  int local_6c;\n  undefined *local_64;\n  undefined4 local_60;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  int local_30;\n  int local_2c;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xca499;\n  iVar7 = param_1[0x2b];\n  if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }\n  if (iVar7 == 0) {\n    return;\n  }\n  piVar19 = param_1 + 0x24;\n  uVar20 = FUN_000c52b0(piVar19,iVar7);\n  puVar17 = auStack_7c;\n  if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }\nLAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;\n  FUN_000be960();\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "uint *puVar18;" (type_identifier "uint") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "int unaff_retaddr;" (primitive_type "int") (identifier "unaff_retaddr") (; ";")) (declaration "undefined1 auStack_7c [16];" (type_identifier "undefined1") (array_declarator "auStack_7c [16]" (identifier "auStack_7c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "undefined *local_64;" (type_identifier "undefined") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0xca499;" (assignment_expression "uStack_14 = 0xca499" (identifier "uStack_14") (= "=") (number_literal "0xca499")) (; ";")) (expression_statement "iVar7 = param_1[0x2b];" (assignment_expression "iVar7 = param_1[0x2b]" (identifier "iVar7") (= "=") (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (if_statement "if (iVar7 == -1) {\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");\n  }" ({ "{") (expression_statement "FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols")" (identifier "FUN_0008b620") (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 (iVar7 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar19 = param_1 + 0x24;" (assignment_expression "piVar19 = param_1 + 0x24" (identifier "piVar19") (= "=") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24"))) (; ";")) (expression_statement "uVar20 = FUN_000c52b0(piVar19,iVar7);" (assignment_expression "uVar20 = FUN_000c52b0(piVar19,iVar7)" (identifier "uVar20") (= "=") (call_expression "FUN_000c52b0(piVar19,iVar7)" (identifier "FUN_000c52b0") (argument_list "(piVar19,iVar7)" (( "(") (identifier "piVar19") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" (identifier "puVar17") (= "=") (identifier "auStack_7c")) (; ";")) (if_statement "if (param_1[7] != 0) {\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_1[7] != 0)" (( "(") (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);\n    puVar17 = auStack_7c;\n    if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }\n    local_6c = param_1[0x2c];\n    if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }\n    if (param_1[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);" (assignment_expression "iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" (identifier "iVar7") (= "=") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1)" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar20") (, ",") (number_literal "0x28") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar17 = auStack_7c;" (assignment_expression "puVar17 = auStack_7c" (identifier "puVar17") (= "=") (identifier "auStack_7c")) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) != 2) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) != 2)" (( "(") (binary_expression "*(int *)(iVar7 + 4) != 2" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");\n    }" ({ "{") (expression_statement "FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols")" (identifier "FUN_0008b620") (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 "local_6c = param_1[0x2c];" (assignment_expression "local_6c = param_1[0x2c]" (identifier "local_6c") (= "=") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]"))) (; ";")) (if_statement "if (local_6c != *(int *)(iVar7 + 0x1c)) {\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" (if "if") (parenthesized_expression "(local_6c != *(int *)(iVar7 + 0x1c))" (( "(") (binary_expression "local_6c != *(int *)(iVar7 + 0x1c)" (identifier "local_6c") (!= "!=") (pointer_expression "*(int *)(iVar7 + 0x1c)" (* "*") (cast_expression "(int *)(iVar7 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (compound_statement "{\n                    \n      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");\n    }" ({ "{") (expression_statement "FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");" (call_expression "FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols")" (identifier "FUN_0008b620") (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[7] != 0) {\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" (if "if") (parenthesized_expression "(param_1[7] != 0)" (( "(") (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);\n      uVar13 = *(uint *)(iVar7 + 0x18);\n      if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }\n      puVar15 = auStack_7c;\n      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }\n      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);\n      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;\n      iVar7 = *(int *)(DAT_0033f2f0 + 8);\n      puVar16 = puVar15;\n      if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }\n      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);\n      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);\n      *(undefined4 *)(puVar15 + 0x20) = uVar11;\n      if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }\n      iVar7 = *(int *)(puVar15 + 0x80);\n      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);\n      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);\n      return;\n    }" ({ "{") (expression_statement "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);" (assignment_expression "puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" (identifier "puVar8") (= "=") (cast_expression "(uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" (identifier "FUN_00085770") (argument_list "(param_1[7] + 0x1c,param_1[8],param_1[9],\n                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1)" (( "(") (binary_expression "param_1[7] + 0x1c" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x1c")) (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "0") (, ",") (binary_expression "local_6c << 4" (identifier "local_6c") (<< "<<") (number_literal "4")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar7 + 0x18);" (assignment_expression "uVar13 = *(uint *)(iVar7 + 0x18)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x18)" (* "*") (cast_expression "(uint *)(iVar7 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (0xfeff < uVar13) {\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" (if "if") (parenthesized_expression "(0xfeff < uVar13)" (( "(") (binary_expression "0xfeff < uVar13" (number_literal "0xfeff") (< "<") (identifier "uVar13")) () ")")) (compound_statement "{\n        FUN_000c47d0(piVar19);\n        uVar13 = uVar13 + param_1[0x29];\n      }" ({ "{") (expression_statement "FUN_000c47d0(piVar19);" (call_expression "FUN_000c47d0(piVar19)" (identifier "FUN_000c47d0") (argument_list "(piVar19)" (( "(") (identifier "piVar19") () ")"))) (; ";")) (expression_statement "uVar13 = uVar13 + param_1[0x29];" (assignment_expression "uVar13 = uVar13 + param_1[0x29]" (identifier "uVar13") (= "=") (binary_expression "uVar13 + param_1[0x29]" (identifier "uVar13") (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]")))) (; ";")) (} "}"))) (expression_statement "puVar15 = auStack_7c;" (assignment_expression "puVar15 = auStack_7c" (identifier "puVar15") (= "=") (identifier "auStack_7c")) (; ";")) (if_statement "if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }\n      else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" (if "if") (parenthesized_expression "(*(code **)(*param_1 + 0x38) == FUN_000c5550)" (( "(") (binary_expression "*(code **)(*param_1 + 0x38) == FUN_000c5550" (pointer_expression "*(code **)(*param_1 + 0x38)" (* "*") (cast_expression "(code **)(*param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (identifier "FUN_000c5550")) () ")")) (compound_statement "{\n        FUN_000c5480(&local_34,piVar19,uVar13);\n        puVar15 = &stack0xffffff80;\n        puVar17 = &stack0xffffff80;\n        if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }\n        local_3c = local_30;\n        local_64 = &DAT_00257c6b;\n        if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }\n      }" ({ "{") (expression_statement "FUN_000c5480(&local_34,piVar19,uVar13);" (call_expression "FUN_000c5480(&local_34,piVar19,uVar13)" (identifier "FUN_000c5480") (argument_list "(&local_34,piVar19,uVar13)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "piVar19") (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" (identifier "puVar15") (= "=") (pointer_expression "&stack0xffffff80" (& "&") (identifier "stack0xffffff80"))) (; ";")) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" (identifier "puVar17") (= "=") (pointer_expression "&stack0xffffff80" (& "&") (identifier "stack0xffffff80"))) (; ";")) (if_statement "if (local_2c != 0) {\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" (if "if") (parenthesized_expression "(local_2c != 0)" (( "(") (binary_expression "local_2c != 0" (identifier "local_2c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);\n        }" ({ "{") (expression_statement "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);" (call_expression "FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c)" (identifier "FUN_0008b620") (argument_list "("../../gold/gold.h",0xc0,"convert_types",local_2c)" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) (, ",") (identifier "local_2c") () ")"))) (; ";")) (} "}"))) (expression_statement "local_3c = local_30;" (assignment_expression "local_3c = local_30" (identifier "local_3c") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_64 = &DAT_00257c6b;" (assignment_expression "local_64 = &DAT_00257c6b" (identifier "local_64") (= "=") (pointer_expression "&DAT_00257c6b" (& "&") (identifier "DAT_00257c6b"))) (; ";")) (if_statement "if (local_30 != 0) {\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" (if "if") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;\n          local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);\n          puVar15 = &stack0xffffff80;\n        }" ({ "{") (if_statement "if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;" (if "if") (parenthesized_expression "(*(int *)(unaff_retaddr + 0x1c) == 0)" (( "(") (binary_expression "*(int *)(unaff_retaddr + 0x1c) == 0" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" (* "*") (cast_expression "(int *)(unaff_retaddr + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_retaddr + 0x1c)" (( "(") (binary_expression "unaff_retaddr + 0x1c" (identifier "unaff_retaddr") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cac46;" (goto "goto") (statement_identifier "LAB_000cac46") (; ";"))) (expression_statement "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1);" (assignment_expression "local_64 = (undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" (identifier "local_64") (= "=") (cast_expression "(undefined *)\n                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" (identifier "FUN_00085770") (argument_list "(*(int *)(unaff_retaddr + 0x1c) + 0x1c,\n                                  *(undefined4 *)(unaff_retaddr + 0x20),\n                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1\n                                  ,1)" (( "(") (binary_expression "*(int *)(unaff_retaddr + 0x1c) + 0x1c" (pointer_expression "*(int *)(unaff_retaddr + 0x1c)" (* "*") (cast_expression "(int *)(unaff_retaddr + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_retaddr + 0x1c)" (( "(") (binary_expression "unaff_retaddr + 0x1c" (identifier "unaff_retaddr") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x1c")) (, ",") (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x20)" (* "*") (cast_expression "(undefined4 *)(unaff_retaddr + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_retaddr + 0x20)" (( "(") (binary_expression "unaff_retaddr + 0x20" (identifier "unaff_retaddr") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(unaff_retaddr + 0x24)" (* "*") (cast_expression "(undefined4 *)(unaff_retaddr + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_retaddr + 0x24)" (( "(") (binary_expression "unaff_retaddr + 0x24" (identifier "unaff_retaddr") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "local_38") (, ",") (identifier "local_34") (, ",") (identifier "local_30") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "puVar15 = &stack0xffffff80;" (assignment_expression "puVar15 = &stack0xffffff80" (identifier "puVar15") (= "=") (pointer_expression "&stack0xffffff80" (& "&") (identifier "stack0xffffff80"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" (else "else") (compound_statement "{\n        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);\n      }" ({ "{") (expression_statement "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);" (assignment_expression "local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" (identifier "local_60") (= "=") (call_expression "(**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38)" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x38)" (* "*") (cast_expression "(code **)(*param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(param_1,uVar13,&local_38)" (( "(") (identifier "param_1") (, ",") (identifier "uVar13") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")")))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);" (assignment_expression "*(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" (pointer_expression "*(undefined4 *)(puVar15 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x80) + 0x28)" (( "(") (binary_expression "*(int *)(puVar15 + 0x80) + 0x28" (pointer_expression "*(int *)(puVar15 + 0x80)" (* "*") (cast_expression "(int *)(puVar15 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x80)" (( "(") (binary_expression "puVar15 + 0x80" (identifier "puVar15") (+ "+") (number_literal "0x80")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0;" (assignment_expression "*(int **)(puVar15 + 0x30) = &DAT_0033f2f0" (pointer_expression "*(int **)(puVar15 + 0x30)" (* "*") (cast_expression "(int **)(puVar15 + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x30)" (( "(") (binary_expression "puVar15 + 0x30" (identifier "puVar15") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "&DAT_0033f2f0" (& "&") (identifier "DAT_0033f2f0"))) (; ";")) (expression_statement "iVar7 = *(int *)(DAT_0033f2f0 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_0033f2f0 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_0033f2f0 + 8)" (* "*") (cast_expression "(int *)(DAT_0033f2f0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0033f2f0 + 8)" (( "(") (binary_expression "DAT_0033f2f0 + 8" (identifier "DAT_0033f2f0") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar7 == 0) {\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;\n        *(char **)(puVar16 + -8) = "options";\n        *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;\n        FUN_0008b620();\n      }" ({ "{") (labeled_statement "LAB_000cac17:\n        *(int *)(puVar16 + -4) = iVar7;" (statement_identifier "LAB_000cac17") (: ":") (expression_statement "*(int *)(puVar16 + -4) = iVar7;" (assignment_expression "*(int *)(puVar16 + -4) = iVar7" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar7")) (; ";"))) (expression_statement "*(char **)(puVar16 + -8) = "options";" (assignment_expression "*(char **)(puVar16 + -8) = "options"" (pointer_expression "*(char **)(puVar16 + -8)" (* "*") (cast_expression "(char **)(puVar16 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""options"" (" """) (string_content "options") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar16 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcac2d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcac2d")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar11 = *(undefined4 *)(iVar7 + 0x5a78);" (assignment_expression "uVar11 = *(undefined4 *)(iVar7 + 0x5a78)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + 0x5a78)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x5a78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x5a78)" (( "(") (binary_expression "iVar7 + 0x5a78" (identifier "iVar7") (+ "+") (number_literal "0x5a78")) () ")"))))) (; ";")) (expression_statement "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);" (assignment_expression "puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469)" (subscript_expression "puVar15[0x27]" (identifier "puVar15") ([ "[") (number_literal "0x27") (] "]")) (= "=") (pointer_expression "*(undefined1 *)(iVar7 + 0x3469)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0x3469)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x3469)" (( "(") (binary_expression "iVar7 + 0x3469" (identifier "iVar7") (+ "+") (number_literal "0x3469")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x20) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + 0x20) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (*(uint *)(puVar15 + 0x10) < 2) {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }\n      else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" (if "if") (parenthesized_expression "(*(uint *)(puVar15 + 0x10) < 2)" (( "(") (binary_expression "*(uint *)(puVar15 + 0x10) < 2" (pointer_expression "*(uint *)(puVar15 + 0x10)" (* "*") (cast_expression "(uint *)(puVar15 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x10)" (( "(") (binary_expression "puVar15 + 0x10" (identifier "puVar15") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2c)" (( "(") (binary_expression "puVar15 + 0x2c" (identifier "puVar15") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" (else "else") (compound_statement "{\n        *(undefined4 *)(puVar15 + 0x2c) = 0;\n        *(undefined4 *)(puVar15 + 8) = 1;\n        piVar19 = *(int **)(puVar15 + 0x80);\n        *(undefined4 *)(puVar15 + 0x34) = 0;\n        do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2c)" (( "(") (binary_expression "puVar15 + 0x2c" (identifier "puVar15") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + 8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar19 = *(int **)(puVar15 + 0x80);" (assignment_expression "piVar19 = *(int **)(puVar15 + 0x80)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(puVar15 + 0x80)" (* "*") (cast_expression "(int **)(puVar15 + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x80)" (( "(") (binary_expression "puVar15 + 0x80" (identifier "puVar15") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + 0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + 0x34) = 0" (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));" (do "do") (compound_statement "{\n          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);\n          *(uint *)(puVar15 + 0xc) = uVar13;\n          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);\n          if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }\n          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';\n          *(byte *)((int)puVar18 + 0xb) = bVar4;\n          bVar12 = (byte)puVar8[7] & 0xf;\n          if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }\n          puVar18[3] = puVar8[5];\n          uVar13 = *(uint *)(puVar15 + 0xc);\n          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }\nLAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;\n          puVar8 = puVar8 + 4;\n        }" ({ "{") (expression_statement "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);" (assignment_expression "uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(ushort *)((int)puVar8 + 0x1e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((int)puVar8 + 0x1e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 0x1e)" (( "(") (binary_expression "(int)puVar8 + 0x1e" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "0x1e")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);" (assignment_expression "puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" (identifier "puVar18") (= "=") (cast_expression "(uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37])" (( "(") (binary_expression "*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]" (binary_expression "*(int *)(puVar15 + 8) * 0x10" (pointer_expression "*(int *)(puVar15 + 8)" (* "*") (cast_expression "(int *)(puVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "0x10")) (+ "+") (subscript_expression "piVar19[0x37]" (identifier "piVar19") ([ "[") (number_literal "0x37") (] "]"))) () ")")))) (; ";")) (if_statement "if (uVar13 < 0xff00) {\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }\n          else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" (if "if") (parenthesized_expression "(uVar13 < 0xff00)" (( "(") (binary_expression "uVar13 < 0xff00" (identifier "uVar13") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n            cVar6 = '\x01';\nLAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;\n          }" ({ "{") (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" (identifier "cVar6") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (labeled_statement "LAB_000ca65e:\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" (statement_identifier "LAB_000ca65e") (: ":") (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar18[2] & 0xf8000000 | uVar13" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xf8000000")) (| "|") (identifier "uVar13"))) (; ";"))) (} "}")) (else_clause "else {\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" (else "else") (compound_statement "{\n            cVar6 = '\0';\n            if (uVar13 != 0xffff) goto LAB_000ca65e;\n            iVar7 = piVar19[0xc];\n            if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }\n            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);\n            *(int **)(puVar15 + -0xc) = piVar19;\n            *(int *)(puVar15 + -0x10) = iVar7;\n            *(undefined4 *)(puVar15 + -0x14) = 0xca889;\n            uVar13 = FUN_000beba0();\n            *(uint *)(puVar15 + 0xc) = uVar13;\n            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;\n            if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }\n            cVar6 = '\x01';\n          }" ({ "{") (expression_statement "cVar6 = '\0';" (assignment_expression "cVar6 = '\0'" (identifier "cVar6") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (uVar13 != 0xffff) goto LAB_000ca65e;" (if "if") (parenthesized_expression "(uVar13 != 0xffff)" (( "(") (binary_expression "uVar13 != 0xffff" (identifier "uVar13") (!= "!=") (number_literal "0xffff")) () ")")) (goto_statement "goto LAB_000ca65e;" (goto "goto") (statement_identifier "LAB_000ca65e") (; ";"))) (expression_statement "iVar7 = piVar19[0xc];" (assignment_expression "iVar7 = piVar19[0xc]" (identifier "iVar7") (= "=") (subscript_expression "piVar19[0xc]" (identifier "piVar19") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (iVar7 == 0) {\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar7 = *piVar19;\n              *(int **)(puVar15 + -0x10) = piVar19;\n              pcVar1 = *(code **)(iVar7 + 0x6c);\n              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;\n              iVar7 = (*pcVar1)();\n              piVar19[0xc] = iVar7;\n            }" ({ "{") (expression_statement "iVar7 = *piVar19;" (assignment_expression "iVar7 = *piVar19" (identifier "iVar7") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar19")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x6c);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x6c)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar7 + 0x6c)" (* "*") (cast_expression "(code **)(iVar7 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x6c)" (( "(") (binary_expression "iVar7 + 0x6c" (identifier "iVar7") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaaa1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcaaa1")) (; ";")) (expression_statement "iVar7 = (*pcVar1)();" (assignment_expression "iVar7 = (*pcVar1)()" (identifier "iVar7") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar19[0xc] = iVar7;" (assignment_expression "piVar19[0xc] = iVar7" (subscript_expression "piVar19[0xc]" (identifier "piVar19") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar15 + -0xc) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0xc) = piVar19" (pointer_expression "*(int **)(puVar15 + -0xc)" (* "*") (cast_expression "(int **)(puVar15 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar19")) (; ";")) (expression_statement "*(int *)(puVar15 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar15 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca889;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca889" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca889")) (; ";")) (expression_statement "uVar13 = FUN_000beba0();" (assignment_expression "uVar13 = FUN_000beba0()" (identifier "uVar13") (= "=") (call_expression "FUN_000beba0()" (identifier "FUN_000beba0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;" (assignment_expression "puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff" (binary_expression "puVar18[2] & 0xf8000000" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xf8000000")) (| "|") (binary_expression "uVar13 & 0x7ffffff" (identifier "uVar13") (& "&") (number_literal "0x7ffffff")))) (; ";")) (if_statement "if ((uVar13 & 0x7ffffff) != uVar13) {\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" (if "if") (parenthesized_expression "((uVar13 & 0x7ffffff) != uVar13)" (( "(") (binary_expression "(uVar13 & 0x7ffffff) != uVar13" (parenthesized_expression "(uVar13 & 0x7ffffff)" (( "(") (binary_expression "uVar13 & 0x7ffffff" (identifier "uVar13") (& "&") (number_literal "0x7ffffff")) () ")")) (!= "!=") (identifier "uVar13")) () ")")) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_input_shndx";\n              *(undefined4 *)(puVar15 + -0xc) = 0x755;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;\n              FUN_0008b620();\n            }" ({ "{") (expression_statement "*(char **)(puVar15 + -8) = "set_input_shndx";" (assignment_expression "*(char **)(puVar15 + -8) = "set_input_shndx"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""set_input_shndx"" (" """) (string_content "set_input_shndx") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x755;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x755" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x755")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcab99;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcab99" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcab99")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" (identifier "cVar6") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")))) (expression_statement "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';" (assignment_expression "bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" (identifier "bVar4") (= "=") (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b'" (binary_expression "*(byte *)((int)puVar18 + 0xb) & 0xf7" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xb)" (( "(") (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0xf7")) (| "|") (binary_expression "cVar6 * '\b'" (identifier "cVar6") (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))))) (; ";")) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xb)" (( "(") (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (identifier "bVar4")) (; ";")) (expression_statement "bVar12 = (byte)puVar8[7] & 0xf;" (assignment_expression "bVar12 = (byte)puVar8[7] & 0xf" (identifier "bVar12") (= "=") (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar8[7]" (identifier "puVar8") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xf"))) (; ";")) (if_statement "if (bVar12 == 3) {\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }\n          else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar12 == 3)" (( "(") (binary_expression "bVar12 == 3" (identifier "bVar12") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n            if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;\n          }" ({ "{") (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" (if "if") (parenthesized_expression "(puVar18[1] != 0xffffffff)" (( "(") (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n              *(char **)(puVar15 + -8) = "set_is_section_symbol";\n              *(undefined4 *)(puVar15 + -0xc) = 0x76a;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;\n              FUN_0008b620();\n            }" ({ "{") (expression_statement "*(char **)(puVar15 + -8) = "set_is_section_symbol";" (assignment_expression "*(char **)(puVar15 + -8) = "set_is_section_symbol"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""set_is_section_symbol"" (" """) (string_content "set_is_section_symbol") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x76a;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x76a" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x76a")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabcf" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcabcf")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xb)" (( "(") (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar4 | 0x10" (identifier "bVar4") (| "|") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" (else "else") (if_statement "if (bVar12 == 6) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }\n          else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar12 == 6)" (( "(") (binary_expression "bVar12 == 6" (identifier "bVar12") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;\n          }" ({ "{") (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xb)" (( "(") (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar4 | 0x20" (identifier "bVar4") (| "|") (number_literal "0x20"))) (; ";")) (} "}")) (else_clause "else if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" (else "else") (if_statement "if (bVar12 == 10) {\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" (if "if") (parenthesized_expression "(bVar12 == 10)" (( "(") (binary_expression "bVar12 == 10" (identifier "bVar12") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;\n          }" ({ "{") (expression_statement "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;" (assignment_expression "*(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40" (pointer_expression "*(byte *)((int)puVar18 + 0xb)" (* "*") (cast_expression "(byte *)((int)puVar18 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 0xb)" (( "(") (binary_expression "(int)puVar18 + 0xb" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar4 | 0x40" (identifier "bVar4") (| "|") (number_literal "0x40"))) (; ";")) (} "}"))))))) (expression_statement "puVar18[3] = puVar8[5];" (assignment_expression "puVar18[3] = puVar8[5]" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "puVar8[5]" (identifier "puVar8") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar13 = *(uint *)(puVar15 + 0xc);" (assignment_expression "uVar13 = *(uint *)(puVar15 + 0xc)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }\n          else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" (if "if") (parenthesized_expression "((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0'))" (( "(") (binary_expression "(uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')" (parenthesized_expression "(uVar13 < *(uint *)(puVar15 + 0x14))" (( "(") (binary_expression "uVar13 < *(uint *)(puVar15 + 0x14)" (identifier "uVar13") (< "<") (pointer_expression "*(uint *)(puVar15 + 0x14)" (* "*") (cast_expression "(uint *)(puVar15 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x14)" (( "(") (binary_expression "puVar15 + 0x14" (identifier "puVar15") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            *(uint *)(puVar15 + 0x18) = uVar13 << 2;\n            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);\n            if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;\n            if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }\n            *puVar18 = 0xffffffff;\n            if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }\n          }" ({ "{") (expression_statement "*(uint *)(puVar15 + 0x18) = uVar13 << 2;" (assignment_expression "*(uint *)(puVar15 + 0x18) = uVar13 << 2" (pointer_expression "*(uint *)(puVar15 + 0x18)" (* "*") (cast_expression "(uint *)(puVar15 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "uVar13 << 2" (identifier "uVar13") (<< "<<") (number_literal "2"))) (; ";")) (expression_statement "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(piVar19[0xe] + uVar13 * 4)" (* "*") (cast_expression "(int *)(piVar19[0xe] + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar19[0xe] + uVar13 * 4)" (( "(") (binary_expression "piVar19[0xe] + uVar13 * 4" (subscript_expression "piVar19[0xe]" (identifier "piVar19") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;" (if "if") (parenthesized_expression "((iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))))" (( "(") (binary_expression "(iVar7 != 0) &&\n               ((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))" (( "(") (parenthesized_expression "(*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1))" (( "(") (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf ||\n                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" (binary_expression "*(int *)(iVar7 + 0x5c) != 0xf" (pointer_expression "*(int *)(iVar7 + 0x5c)" (* "*") (cast_expression "(int *)(iVar7 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x5c)" (( "(") (binary_expression "iVar7 + 0x5c" (identifier "iVar7") (+ "+") (number_literal "0x5c")) () ")")))) (!= "!=") (number_literal "0xf")) (|| "||") (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)" (( "(") (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" (* "*") (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0x18))" (( "(") (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0x18)" (subscript_expression "piVar19[0x21]" (identifier "piVar19") ([ "[") (number_literal "0x21") (] "]")) (+ "+") (pointer_expression "*(int *)(puVar15 + 0x18)" (* "*") (cast_expression "(int *)(puVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000ca6c0;" (goto "goto") (statement_identifier "LAB_000ca6c0") (; ";"))) (if_statement "if (*puVar18 != 0) {\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" (if "if") (parenthesized_expression "(*puVar18 != 0)" (( "(") (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);\n              goto LAB_000ca73f;\n            }" ({ "{") (do_statement "do {\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              } while (uVar13 != 0);" (do "do") (compound_statement "{\n                *(undefined4 *)(puVar15 + -4) = 0xca9c6;\n                FUN_000be990();\nLAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;\n                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }\n                uVar3 = *puVar18;\n                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;\n                iVar7 = **(int **)(puVar15 + 0x30);\n                puVar16 = puVar15;\n                if (uVar3 == 0xfffffffe) goto LAB_000ca906;\n                piVar2 = *(int **)(iVar7 + 0xc);\n                if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }\n                iVar7 = *piVar2;\n                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);\n                *(int **)(puVar15 + -0x10) = piVar2;\n                pcVar1 = *(code **)(iVar7 + 0x28);\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;\n                cVar6 = (*pcVar1)();\n                if (cVar6 == '\0') goto LAB_000ca900;\nLAB_000ca9b7:\n                uVar13 = *puVar18;\njoined_r0x000caa5f:\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0xca9c6;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0xca9c6" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xca9c6")) (; ";")) (expression_statement "FUN_000be990();" (call_expression "FUN_000be990()" (identifier "FUN_000be990") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000ca9d0:\n                uVar13 = (byte)puVar8[7] & 0xf;" (statement_identifier "LAB_000ca9d0") (: ":") (expression_statement "uVar13 = (byte)puVar8[7] & 0xf;" (assignment_expression "uVar13 = (byte)puVar8[7] & 0xf" (identifier "uVar13") (= "=") (binary_expression "(byte)puVar8[7] & 0xf" (cast_expression "(byte)puVar8[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar8[7]" (identifier "puVar8") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0xf"))) (; ";"))) (if_statement "if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" (if "if") (parenthesized_expression "(((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff))" (( "(") (binary_expression "((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)" (parenthesized_expression "((char)uVar13 == '\x04')" (( "(") (binary_expression "(char)uVar13 == '\x04'" (cast_expression "(char)uVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar13")) (== "==") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(puVar18[1] != 0xffffffff)" (( "(") (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\nLAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);\n                  puVar16 = puVar15;\nLAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);\n                  if (iVar14 == 0) goto LAB_000cac17;\n                  if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }\n                  *(undefined4 *)(puVar16 + -4) = 0;\n                  *(undefined4 *)(puVar16 + -8) = 1;\n                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);\n                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;\n                  FUN_0014bcb0();\n                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;\n                  puVar15 = puVar16;\n                  goto LAB_000ca745;\n                }" ({ "{") (labeled_statement "LAB_000ca900:\n                  iVar7 = **(int **)(puVar15 + 0x30);" (statement_identifier "LAB_000ca900") (: ":") (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" (identifier "iVar7") (= "=") (pointer_expression "**(int **)(puVar15 + 0x30)" (* "*") (pointer_expression "*(int **)(puVar15 + 0x30)" (* "*") (cast_expression "(int **)(puVar15 + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x30)" (( "(") (binary_expression "puVar15 + 0x30" (identifier "puVar15") (+ "+") (number_literal "0x30")) () ")")))))) (; ";"))) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (labeled_statement "LAB_000ca906:\n                  iVar14 = *(int *)(iVar7 + 8);" (statement_identifier "LAB_000ca906") (: ":") (expression_statement "iVar14 = *(int *)(iVar7 + 8);" (assignment_expression "iVar14 = *(int *)(iVar7 + 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (iVar14 == 0) goto LAB_000cac17;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cac17;" (goto "goto") (statement_identifier "LAB_000cac17") (; ";"))) (if_statement "if (*(int *)(iVar14 + 0x5a48) != 0) {\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0x5a48) != 0)" (( "(") (binary_expression "*(int *)(iVar14 + 0x5a48) != 0" (pointer_expression "*(int *)(iVar14 + 0x5a48)" (* "*") (cast_expression "(int *)(iVar14 + 0x5a48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x5a48)" (( "(") (binary_expression "iVar14 + 0x5a48" (identifier "iVar14") (+ "+") (number_literal "0x5a48")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    iVar7 = *(int *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;\n                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;\n                    iVar9 = -1;\n                    if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }\n                    *(int *)(puVar16 + 0x38) = iVar14;\n                    *(undefined4 *)(puVar16 + -4) = 0;\n                    *(int *)(puVar16 + -8) = iVar9;\n                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;\n                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;\n                    FUN_00056c80();\n                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);\n                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;\n                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;\n                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;\n                    FUN_0007bca0();\n                    iVar7 = *(int *)(puVar16 + 0x38);\n                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }\n                    puVar15 = puVar16 + -4;\n                    puVar16 = puVar16 + -4;\n                    if (iVar7 == 0) goto LAB_000ca9b7;\n                  }" ({ "{") (expression_statement "iVar7 = *(int *)(puVar16 + 0x18);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x18)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar16 + 0x18)" (* "*") (cast_expression "(int *)(puVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x18)" (( "(") (binary_expression "puVar16 + 0x18" (identifier "puVar16") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0xc)" (* "*") (cast_expression "(undefined1 **)(puVar16 + 0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + 0xc)" (( "(") (binary_expression "puVar16 + 0xc" (identifier "puVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "puVar16 + 0x50" (identifier "puVar16") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;" (assignment_expression "*(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50" (pointer_expression "*(undefined1 **)(puVar16 + 0x48)" (* "*") (cast_expression "(undefined1 **)(puVar16 + 0x48)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + 0x48)" (( "(") (binary_expression "puVar16 + 0x48" (identifier "puVar16") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "puVar16 + 0x50" (identifier "puVar16") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" (identifier "iVar9") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (iVar7 != 0) {\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      *(int *)(puVar16 + 0x28) = iVar14;\n                      *(int *)(puVar16 + 0x18) = iVar7;\n                      *(int *)(puVar16 + -0x10) = iVar7;\n                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;\n                      sVar10 = strlen(*(char **)(puVar16 + -0x10));\n                      iVar14 = *(int *)(puVar16 + 0x28);\n                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);\n                    }" ({ "{") (expression_statement "*(int *)(puVar16 + 0x28) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x28) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x28)" (* "*") (cast_expression "(int *)(puVar16 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x28)" (( "(") (binary_expression "puVar16 + 0x28" (identifier "puVar16") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(int *)(puVar16 + 0x18) = iVar7;" (assignment_expression "*(int *)(puVar16 + 0x18) = iVar7" (pointer_expression "*(int *)(puVar16 + 0x18)" (* "*") (cast_expression "(int *)(puVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x18)" (( "(") (binary_expression "puVar16 + 0x18" (identifier "puVar16") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca949;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca949" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca949")) (; ";")) (expression_statement "sVar10 = strlen(*(char **)(puVar16 + -0x10));" (assignment_expression "sVar10 = strlen(*(char **)(puVar16 + -0x10))" (identifier "sVar10") (= "=") (call_expression "strlen(*(char **)(puVar16 + -0x10))" (identifier "strlen") (argument_list "(*(char **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar16 + 0x28);" (assignment_expression "iVar14 = *(int *)(puVar16 + 0x28)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar16 + 0x28)" (* "*") (cast_expression "(int *)(puVar16 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x28)" (( "(") (binary_expression "puVar16 + 0x28" (identifier "puVar16") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar9 = sVar10 + *(int *)(puVar16 + 0x18);" (assignment_expression "iVar9 = sVar10 + *(int *)(puVar16 + 0x18)" (identifier "iVar9") (= "=") (binary_expression "sVar10 + *(int *)(puVar16 + 0x18)" (identifier "sVar10") (+ "+") (pointer_expression "*(int *)(puVar16 + 0x18)" (* "*") (cast_expression "(int *)(puVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x18)" (( "(") (binary_expression "puVar16 + 0x18" (identifier "puVar16") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar16 + 0x38) = iVar14;" (assignment_expression "*(int *)(puVar16 + 0x38) = iVar14" (pointer_expression "*(int *)(puVar16 + 0x38)" (* "*") (cast_expression "(int *)(puVar16 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x38)" (( "(") (binary_expression "puVar16 + 0x38" (identifier "puVar16") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar16 + -8) = iVar9;" (assignment_expression "*(int *)(puVar16 + -8) = iVar9" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar16 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x18)" (( "(") (binary_expression "puVar16 + 0x18" (identifier "puVar16") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar16 + 0x48" (identifier "puVar16") (+ "+") (number_literal "0x48"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;" (assignment_expression "*(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48" (pointer_expression "*(undefined1 **)(puVar16 + 0x28)" (* "*") (cast_expression "(undefined1 **)(puVar16 + 0x28)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + 0x28)" (( "(") (binary_expression "puVar16 + 0x28" (identifier "puVar16") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "puVar16 + 0x48" (identifier "puVar16") (+ "+") (number_literal "0x48"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca96d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca96d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca96d")) (; ";")) (expression_statement "FUN_00056c80();" (call_expression "FUN_00056c80()" (identifier "FUN_00056c80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);" (assignment_expression "*(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28)" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar16 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar16 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x28)" (( "(") (binary_expression "puVar16 + 0x28" (identifier "puVar16") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;" (assignment_expression "*(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "*(int *)(puVar16 + 0x38) + 0x5a3c" (pointer_expression "*(int *)(puVar16 + 0x38)" (* "*") (cast_expression "(int *)(puVar16 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x38)" (( "(") (binary_expression "puVar16 + 0x38" (identifier "puVar16") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x5a3c"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c" (pointer_expression "*(undefined1 **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar16 + 0x3c" (identifier "puVar16") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xca98a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xca98a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca98a")) (; ";")) (expression_statement "FUN_0007bca0();" (call_expression "FUN_0007bca0()" (identifier "FUN_0007bca0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar16 + 0x38);" (assignment_expression "iVar7 = *(int *)(puVar16 + 0x38)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar16 + 0x38)" (* "*") (cast_expression "(int *)(puVar16 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x38)" (( "(") (binary_expression "puVar16 + 0x38" (identifier "puVar16") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" (if "if") (parenthesized_expression "(*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8))" (( "(") (binary_expression "*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)" (pointer_expression "*(int *)(puVar16 + 0x44)" (* "*") (cast_expression "(int *)(puVar16 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x44)" (( "(") (binary_expression "puVar16 + 0x44" (identifier "puVar16") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (pointer_expression "*(int *)(puVar16 + 8)" (* "*") (cast_expression "(int *)(puVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 8)" (( "(") (binary_expression "puVar16 + 8" (identifier "puVar16") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n                      *(int *)(puVar16 + 8) = iVar7;\n                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);\n                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;\n                      FUN_001ac470();\n                      iVar7 = *(int *)(puVar16 + 8);\n                    }" ({ "{") (expression_statement "*(int *)(puVar16 + 8) = iVar7;" (assignment_expression "*(int *)(puVar16 + 8) = iVar7" (pointer_expression "*(int *)(puVar16 + 8)" (* "*") (cast_expression "(int *)(puVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 8)" (( "(") (binary_expression "puVar16 + 8" (identifier "puVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);" (assignment_expression "*(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44)" (pointer_expression "*(int *)(puVar16 + -0x14)" (* "*") (cast_expression "(int *)(puVar16 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(int *)(puVar16 + 0x44)" (* "*") (cast_expression "(int *)(puVar16 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x44)" (( "(") (binary_expression "puVar16 + 0x44" (identifier "puVar16") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0xca9a8" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xca9a8")) (; ";")) (expression_statement "FUN_001ac470();" (call_expression "FUN_001ac470()" (identifier "FUN_001ac470") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar16 + 8);" (assignment_expression "iVar7 = *(int *)(puVar16 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar16 + 8)" (* "*") (cast_expression "(int *)(puVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 8)" (( "(") (binary_expression "puVar16 + 8" (identifier "puVar16") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" (identifier "puVar15") (= "=") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar16 = puVar16 + -4;" (assignment_expression "puVar16 = puVar16 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_000ca9b7;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ca9b7;" (goto "goto") (statement_identifier "LAB_000ca9b7") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18)" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar16 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar16 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x18)" (( "(") (binary_expression "puVar16 + 0x18" (identifier "puVar16") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar16 + 0x84)" (* "*") (cast_expression "(undefined4 *)(puVar16 + 0x84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x84)" (( "(") (binary_expression "puVar16 + 0x84" (identifier "puVar16") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0xcaa84" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcaa84")) (; ";")) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" (identifier "FUN_0014bcb0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;" (assignment_expression "*(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" (* "*") (cast_expression "(int *)(puVar16 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x34)" (( "(") (binary_expression "puVar16 + 0x34" (identifier "puVar16") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (binary_expression "*(int *)(puVar16 + 0x34) + 1" (pointer_expression "*(int *)(puVar16 + 0x34)" (* "*") (cast_expression "(int *)(puVar16 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 0x34)" (( "(") (binary_expression "puVar16 + 0x34" (identifier "puVar16") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" (identifier "puVar15") (= "=") (identifier "puVar16")) (; ";")) (goto_statement "goto LAB_000ca745;" (goto "goto") (statement_identifier "LAB_000ca745") (; ";")) (} "}"))) (expression_statement "uVar3 = *puVar18;" (assignment_expression "uVar3 = *puVar18" (identifier "uVar3") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (if_statement "if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;" (if "if") (parenthesized_expression "((uVar3 != 0) && (uVar3 != 0xfffffffe))" (( "(") (binary_expression "(uVar3 != 0) && (uVar3 != 0xfffffffe)" (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar3 != 0xfffffffe)" (( "(") (binary_expression "uVar3 != 0xfffffffe" (identifier "uVar3") (!= "!=") (number_literal "0xfffffffe")) () ")"))) () ")")) (goto_statement "goto LAB_000cac4b;" (goto "goto") (statement_identifier "LAB_000cac4b") (; ";"))) (expression_statement "iVar7 = **(int **)(puVar15 + 0x30);" (assignment_expression "iVar7 = **(int **)(puVar15 + 0x30)" (identifier "iVar7") (= "=") (pointer_expression "**(int **)(puVar15 + 0x30)" (* "*") (pointer_expression "*(int **)(puVar15 + 0x30)" (* "*") (cast_expression "(int **)(puVar15 + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x30)" (( "(") (binary_expression "puVar15 + 0x30" (identifier "puVar15") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (uVar3 == 0xfffffffe) goto LAB_000ca906;" (if "if") (parenthesized_expression "(uVar3 == 0xfffffffe)" (( "(") (binary_expression "uVar3 == 0xfffffffe" (identifier "uVar3") (== "==") (number_literal "0xfffffffe")) () ")")) (goto_statement "goto LAB_000ca906;" (goto "goto") (statement_identifier "LAB_000ca906") (; ";"))) (expression_statement "piVar2 = *(int **)(iVar7 + 0xc);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0xc)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(iVar7 + 0xc)" (* "*") (cast_expression "(int **)(iVar7 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(uint **)(puVar15 + -4) = puVar18;\n                  *(char **)(puVar15 + -8) = "target";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x69;\n                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;\n                  FUN_0008b620();\n                }" ({ "{") (expression_statement "*(uint **)(puVar15 + -4) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -4) = puVar18" (pointer_expression "*(uint **)(puVar15 + -4)" (* "*") (cast_expression "(uint **)(puVar15 + -4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar18")) (; ";")) (expression_statement "*(char **)(puVar15 + -8) = "target";" (assignment_expression "*(char **)(puVar15 + -8) = "target"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""target"" (" """) (string_content "target") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x69")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabfe" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcabfe")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" (identifier "iVar7") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar2;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar2" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar2")) (; ";")) (expression_statement "pcVar1 = *(code **)(iVar7 + 0x28);" (assignment_expression "pcVar1 = *(code **)(iVar7 + 0x28)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar7 + 0x28)" (* "*") (cast_expression "(code **)(iVar7 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa1f" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcaa1f")) (; ";")) (expression_statement "cVar6 = (*pcVar1)();" (assignment_expression "cVar6 = (*pcVar1)()" (identifier "cVar6") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ca900;" (goto "goto") (statement_identifier "LAB_000ca900") (; ";"))) (labeled_statement "LAB_000ca9b7:\n                uVar13 = *puVar18;" (statement_identifier "LAB_000ca9b7") (: ":") (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" (identifier "uVar13") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";"))) (labeled_statement "joined_r0x000caa5f:" (statement_identifier "joined_r0x000caa5f") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")")) (; ";")) (goto_statement "goto LAB_000ca73f;" (goto "goto") (statement_identifier "LAB_000ca73f") (; ";")) (} "}"))) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (puVar18[1] != 0xffffffff) {\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" (if "if") (parenthesized_expression "(puVar18[1] != 0xffffffff)" (( "(") (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0;\n              *(char **)(puVar15 + -8) = "do_count_local_symbols";\n              *(undefined4 *)(puVar15 + -0xc) = 0x90d;\n              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;\n              FUN_0008b620();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x90d;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x90d" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x90d")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca85c" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000ca85c" (& "&") (identifier "UNK_000ca85c"))) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" (else "else") (compound_statement "{\nLAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }\n          }" ({ "{") (labeled_statement "LAB_000ca6c0:\n            if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" (statement_identifier "LAB_000ca6c0") (: ":") (if_statement "if ((puVar8[7] & 0xf) == 3) {\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }\n            else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" (if "if") (parenthesized_expression "((puVar8[7] & 0xf) == 3)" (( "(") (binary_expression "(puVar8[7] & 0xf) == 3" (parenthesized_expression "(puVar8[7] & 0xf)" (( "(") (binary_expression "puVar8[7] & 0xf" (subscript_expression "puVar8[7]" (identifier "puVar8") ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;\n              *puVar18 = 0xffffffff;\n              if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }\n            }" ({ "{") (labeled_statement "LAB_000ca7ab:\n              if (*puVar18 != 0) goto LAB_000cab99;" (statement_identifier "LAB_000ca7ab") (: ":") (if_statement "if (*puVar18 != 0) goto LAB_000cab99;" (if "if") (parenthesized_expression "(*puVar18 != 0)" (( "(") (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cab99;" (goto "goto") (statement_identifier "LAB_000cab99") (; ";")))) (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (puVar18[1] != 0xffffffff) {\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" (if "if") (parenthesized_expression "(puVar18[1] != 0xffffffff)" (( "(") (binary_expression "puVar18[1] != 0xffffffff" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                *(char **)(puVar15 + -8) = "do_count_local_symbols";\n                *(undefined4 *)(puVar15 + -0xc) = 0x915;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";\n                    \n                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;\n                FUN_0008b620();\n              }" ({ "{") (expression_statement "*(char **)(puVar15 + -8) = "do_count_local_symbols";" (assignment_expression "*(char **)(puVar15 + -8) = "do_count_local_symbols"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""do_count_local_symbols"" (" """) (string_content "do_count_local_symbols") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x915;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x915" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x915")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.cc";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.cc"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;" (assignment_expression "*(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc" (pointer_expression "*(undefined **)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000ca7dc" (& "&") (identifier "UNK_000ca7dc"))) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" (else "else") (compound_statement "{\n              pcVar1 = *(code **)(*piVar19 + 0x100);\n              if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }\n              uVar13 = puVar8[4];\n              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);\n              if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }\n              uVar3 = puVar18[1];\n              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;\n              if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }\n              if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }\n              if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }\nLAB_000ca73f:\n              *puVar18 = 0xffffffff;\n            }" ({ "{") (expression_statement "pcVar1 = *(code **)(*piVar19 + 0x100);" (assignment_expression "pcVar1 = *(code **)(*piVar19 + 0x100)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(*piVar19 + 0x100)" (* "*") (cast_expression "(code **)(*piVar19 + 0x100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar19 + 0x100)" (( "(") (binary_expression "*piVar19 + 0x100" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (if_statement "if (pcVar1 != FUN_000c0270) {\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" (if "if") (parenthesized_expression "(pcVar1 != FUN_000c0270)" (( "(") (binary_expression "pcVar1 != FUN_000c0270" (identifier "pcVar1") (!= "!=") (identifier "FUN_000c0270")) () ")")) (compound_statement "{\n                puVar15[0x18] = cVar6;\n                *(uint **)(puVar15 + -0xc) = puVar18;\n                *(int **)(puVar15 + -0x10) = piVar19;\n                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;\n                cVar5 = (*pcVar1)();\n                cVar6 = puVar15[0x18];\n                if (cVar5 == '\0') goto LAB_000ca7ab;\n              }" ({ "{") (expression_statement "puVar15[0x18] = cVar6;" (assignment_expression "puVar15[0x18] = cVar6" (subscript_expression "puVar15[0x18]" (identifier "puVar15") ([ "[") (number_literal "0x18") (] "]")) (= "=") (identifier "cVar6")) (; ";")) (expression_statement "*(uint **)(puVar15 + -0xc) = puVar18;" (assignment_expression "*(uint **)(puVar15 + -0xc) = puVar18" (pointer_expression "*(uint **)(puVar15 + -0xc)" (* "*") (cast_expression "(uint **)(puVar15 + -0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar18")) (; ";")) (expression_statement "*(int **)(puVar15 + -0x10) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x10) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x10)" (* "*") (cast_expression "(int **)(puVar15 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca79b;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca79b" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca79b")) (; ";")) (expression_statement "cVar5 = (*pcVar1)();" (assignment_expression "cVar5 = (*pcVar1)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "cVar6 = puVar15[0x18];" (assignment_expression "cVar6 = puVar15[0x18]" (identifier "cVar6") (= "=") (subscript_expression "puVar15[0x18]" (identifier "puVar15") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (if_statement "if (cVar5 == '\0') goto LAB_000ca7ab;" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ca7ab;" (goto "goto") (statement_identifier "LAB_000ca7ab") (; ";"))) (} "}"))) (expression_statement "uVar13 = puVar8[4];" (assignment_expression "uVar13 = puVar8[4]" (identifier "uVar13") (= "=") (subscript_expression "puVar8[4]" (identifier "puVar8") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44)" (pointer_expression "*(uint *)(puVar15 + 0x18)" (* "*") (cast_expression "(uint *)(puVar15 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "*(uint *)(puVar15 + 0x44)" (* "*") (cast_expression "(uint *)(puVar15 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x44)" (( "(") (binary_expression "puVar15 + 0x44" (identifier "puVar15") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(puVar15 + 0x44) <= uVar13) {\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" (if "if") (parenthesized_expression "(*(uint *)(puVar15 + 0x44) <= uVar13)" (( "(") (binary_expression "*(uint *)(puVar15 + 0x44) <= uVar13" (pointer_expression "*(uint *)(puVar15 + 0x44)" (* "*") (cast_expression "(uint *)(puVar15 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x44)" (( "(") (binary_expression "puVar15 + 0x44" (identifier "puVar15") (+ "+") (number_literal "0x44")) () ")")))) (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n                *(uint *)(puVar15 + 0xc) = uVar13;\n                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";\n                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;\n                uVar11 = gettext();\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);\n                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);\n                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);\n                *(undefined4 *)(puVar15 + -0x1c) = uVar11;\n                *(int **)(puVar15 + -0x20) = piVar19;\n                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;\n                FUN_000beb20();\n                uVar13 = *puVar18;\n                goto joined_r0x000caa5f;\n              }" ({ "{") (expression_statement "*(uint *)(puVar15 + 0xc) = uVar13;" (assignment_expression "*(uint *)(puVar15 + 0xc) = uVar13" (pointer_expression "*(uint *)(puVar15 + 0xc)" (* "*") (cast_expression "(uint *)(puVar15 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";" (assignment_expression "*(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (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 "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcaa43" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcaa43")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x18)" (( "(") (binary_expression "puVar15 + -0x18" (identifier "puVar15") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar15 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar15 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x1c)" (( "(") (binary_expression "puVar15 + -0x1c" (identifier "puVar15") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(int **)(puVar15 + -0x20) = piVar19;" (assignment_expression "*(int **)(puVar15 + -0x20) = piVar19" (pointer_expression "*(int **)(puVar15 + -0x20)" (* "*") (cast_expression "(int **)(puVar15 + -0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x20)" (( "(") (binary_expression "puVar15 + -0x20" (identifier "puVar15") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "piVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58;" (assignment_expression "*(undefined4 *)(puVar15 + -0x24) = 0xcaa58" (pointer_expression "*(undefined4 *)(puVar15 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x24)" (( "(") (binary_expression "puVar15 + -0x24" (identifier "puVar15") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xcaa58")) (; ";")) (expression_statement "FUN_000beb20();" (call_expression "FUN_000beb20()" (identifier "FUN_000beb20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" (identifier "uVar13") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (goto_statement "goto joined_r0x000caa5f;" (goto "goto") (statement_identifier "joined_r0x000caa5f") (; ";")) (} "}"))) (expression_statement "uVar3 = puVar18[1];" (assignment_expression "uVar3 = puVar18[1]" (identifier "uVar3") (= "=") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + 0x18)" (* "*") (cast_expression "(uint *)(puVar15 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x18)" (( "(") (binary_expression "puVar15 + 0x18" (identifier "puVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" (* "*") (cast_expression "(int *)(puVar15 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "uVar13"))) (; ";")) (if_statement "if (uVar3 != 0xffffffff) {\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" (if "if") (parenthesized_expression "(uVar3 != 0xffffffff)" (( "(") (binary_expression "uVar3 != 0xffffffff" (identifier "uVar3") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                puVar15[0x28] = cVar6;\n                *(undefined4 *)(puVar15 + -4) = 0;\n                *(undefined4 *)(puVar15 + -8) = 1;\n                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;\n                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);\n                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;\n                FUN_0014bcb0();\n                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;\n                cVar6 = puVar15[0x28];\n              }" ({ "{") (expression_statement "puVar15[0x28] = cVar6;" (assignment_expression "puVar15[0x28] = cVar6" (subscript_expression "puVar15[0x28]" (identifier "puVar15") ([ "[") (number_literal "0x28") (] "]")) (= "=") (identifier "cVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar15 + -0xc)" (* "*") (cast_expression "(uint *)(puVar15 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "*(int *)(puVar15 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar15 + 0x1c)" (* "*") (cast_expression "(int *)(puVar15 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x1c)" (( "(") (binary_expression "puVar15 + 0x1c" (identifier "puVar15") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "uVar13"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x88)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x88)" (( "(") (binary_expression "puVar15 + 0x88" (identifier "puVar15") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xca71d;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xca71d" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xca71d")) (; ";")) (expression_statement "FUN_0014bcb0();" (call_expression "FUN_0014bcb0()" (identifier "FUN_0014bcb0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;" (assignment_expression "*(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" (* "*") (cast_expression "(int *)(puVar15 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2c)" (( "(") (binary_expression "puVar15 + 0x2c" (identifier "puVar15") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "*(int *)(puVar15 + 0x2c) + 1" (pointer_expression "*(int *)(puVar15 + 0x2c)" (* "*") (cast_expression "(int *)(puVar15 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2c)" (( "(") (binary_expression "puVar15 + 0x2c" (identifier "puVar15") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar6 = puVar15[0x28];" (assignment_expression "cVar6 = puVar15[0x28]" (identifier "cVar6") (= "=") (subscript_expression "puVar15[0x28]" (identifier "puVar15") ([ "[") (number_literal "0x28") (] "]"))) (; ";")) (} "}"))) (if_statement "if (puVar15[0x27] == '\0') {\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }\n              else {\n                uVar13 = *puVar18;\n              }" (if "if") (parenthesized_expression "(puVar15[0x27] == '\0')" (( "(") (binary_expression "puVar15[0x27] == '\0'" (subscript_expression "puVar15[0x27]" (identifier "puVar15") ([ "[") (number_literal "0x27") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }\n                uVar13 = *puVar18;\n                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }\n                if (uVar13 == 0xfffffffe) goto LAB_000ca900;\n              }" ({ "{") (if_statement "if (*(int *)(puVar15 + 0x20) != 3) {\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 3)" (( "(") (binary_expression "*(int *)(puVar15 + 0x20) != 3" (pointer_expression "*(int *)(puVar15 + 0x20)" (* "*") (cast_expression "(int *)(puVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;\n                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;\n                  if (cVar6 == '\0') goto LAB_000ca900;\n                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;\n                  goto LAB_000ca900;\n                }" ({ "{") (if_statement "if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x20) == 2)" (( "(") (binary_expression "*(int *)(puVar15 + 0x20) == 2" (pointer_expression "*(int *)(puVar15 + 0x20)" (* "*") (cast_expression "(int *)(puVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")")))) (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_000ca9d0;" (goto "goto") (statement_identifier "LAB_000ca9d0") (; ";"))) (if_statement "if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;" (if "if") (parenthesized_expression "(*(int *)(puVar15 + 0x20) != 0)" (( "(") (binary_expression "*(int *)(puVar15 + 0x20) != 0" (pointer_expression "*(int *)(puVar15 + 0x20)" (* "*") (cast_expression "(int *)(puVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x20)" (( "(") (binary_expression "puVar15 + 0x20" (identifier "puVar15") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ca900;" (goto "goto") (statement_identifier "LAB_000ca900") (; ";"))) (if_statement "if (cVar6 == '\0') goto LAB_000ca900;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000ca900;" (goto "goto") (statement_identifier "LAB_000ca900") (; ";"))) (if_statement "if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)\n                  goto LAB_000ca9d0;" (if "if") (parenthesized_expression "(*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)" (( "(") (binary_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1" (pointer_expression "*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" (* "*") (cast_expression "(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4)" (( "(") (binary_expression "piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4" (subscript_expression "piVar19[0x21]" (identifier "piVar19") ([ "[") (number_literal "0x21") (] "]")) (+ "+") (binary_expression "*(int *)(puVar15 + 0xc) * 4" (pointer_expression "*(int *)(puVar15 + 0xc)" (* "*") (cast_expression "(int *)(puVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000ca9d0;" (goto "goto") (statement_identifier "LAB_000ca9d0") (; ";"))) (goto_statement "goto LAB_000ca900;" (goto "goto") (statement_identifier "LAB_000ca900") (; ";")) (} "}"))) (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" (identifier "uVar13") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (if_statement "if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" (if "if") (parenthesized_expression "((uVar13 != 0) && (uVar13 != 0xfffffffe))" (( "(") (binary_expression "(uVar13 != 0) && (uVar13 != 0xfffffffe)" (parenthesized_expression "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar13 != 0xfffffffe)" (( "(") (binary_expression "uVar13 != 0xfffffffe" (identifier "uVar13") (!= "!=") (number_literal "0xfffffffe")) () ")"))) () ")")) (compound_statement "{\nLAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;\n                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";\n                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;\n                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;\n                  FUN_0008b620();\n                }" ({ "{") (labeled_statement "LAB_000cac4b:\n                  *(uint *)(puVar15 + -4) = uVar13;" (statement_identifier "LAB_000cac4b") (: ":") (expression_statement "*(uint *)(puVar15 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar15 + -4) = uVar13" (pointer_expression "*(uint *)(puVar15 + -4)" (* "*") (cast_expression "(uint *)(puVar15 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar13")) (; ";"))) (expression_statement "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";" (assignment_expression "*(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""may_be_discarded_from_output_symtab"" (" """) (string_content "may_be_discarded_from_output_symtab") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x6f2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x6f2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x6f2")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcac64;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcac64" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcac64")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar13 == 0xfffffffe) goto LAB_000ca900;" (if "if") (parenthesized_expression "(uVar13 == 0xfffffffe)" (( "(") (binary_expression "uVar13 == 0xfffffffe" (identifier "uVar13") (== "==") (number_literal "0xfffffffe")) () ")")) (goto_statement "goto LAB_000ca900;" (goto "goto") (statement_identifier "LAB_000ca900") (; ";"))) (} "}")) (else_clause "else {\n                uVar13 = *puVar18;\n              }" (else "else") (compound_statement "{\n                uVar13 = *puVar18;\n              }" ({ "{") (expression_statement "uVar13 = *puVar18;" (assignment_expression "uVar13 = *puVar18" (identifier "uVar13") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (} "}")))) (if_statement "if (uVar13 != 0) {\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" (if "if") (parenthesized_expression "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";\n                *(undefined4 *)(puVar15 + -0xc) = 0x716;\n                *(char **)(puVar15 + -0x10) = "../../gold/object.h";\n                    \n                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;\n                FUN_0008b620();\n              }" ({ "{") (labeled_statement "LAB_000cab99:\n                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" (statement_identifier "LAB_000cab99") (: ":") (expression_statement "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry";" (assignment_expression "*(char **)(puVar15 + -8) = "set_no_output_symtab_entry"" (pointer_expression "*(char **)(puVar15 + -8)" (* "*") (cast_expression "(char **)(puVar15 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""set_no_output_symtab_entry"" (" """) (string_content "set_no_output_symtab_entry") (" """))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x716")) (; ";")) (expression_statement "*(char **)(puVar15 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)(puVar15 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)(puVar15 + -0x10)" (* "*") (cast_expression "(char **)(puVar15 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0xcabb4" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xcabb4")) (; ";")) (expression_statement "FUN_0008b620();" (call_expression "FUN_0008b620()" (identifier "FUN_0008b620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000ca73f:\n              *puVar18 = 0xffffffff;" (statement_identifier "LAB_000ca73f") (: ":") (expression_statement "*puVar18 = 0xffffffff;" (assignment_expression "*puVar18 = 0xffffffff" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0xffffffff")) (; ";"))) (} "}"))))) (} "}")))) (labeled_statement "LAB_000ca745:\n          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" (statement_identifier "LAB_000ca745") (: ":") (expression_statement "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;" (assignment_expression "*(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" (* "*") (cast_expression "(int *)(puVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(puVar15 + 8) + 1" (pointer_expression "*(int *)(puVar15 + 8)" (* "*") (cast_expression "(int *)(puVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8))" (( "(") (binary_expression "*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8)" (pointer_expression "*(int *)(puVar15 + 0x10)" (* "*") (cast_expression "(int *)(puVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x10)" (( "(") (binary_expression "puVar15 + 0x10" (identifier "puVar15") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (pointer_expression "*(int *)(puVar15 + 8)" (* "*") (cast_expression "(int *)(puVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 8)" (( "(") (binary_expression "puVar15 + 8" (identifier "puVar15") (+ "+") (number_literal "8")) () ")"))))) () ")")) (; ";")) (} "}")))) (expression_statement "iVar7 = *(int *)(puVar15 + 0x80);" (assignment_expression "iVar7 = *(int *)(puVar15 + 0x80)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar15 + 0x80)" (* "*") (cast_expression "(int *)(puVar15 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x80)" (( "(") (binary_expression "puVar15 + 0x80" (identifier "puVar15") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xb4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xb4)" (( "(") (binary_expression "iVar7 + 0xb4" (identifier "iVar7") (+ "+") (number_literal "0xb4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x34)" (( "(") (binary_expression "puVar15 + 0x34" (identifier "puVar15") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xb8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xb8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xb8)" (( "(") (binary_expression "iVar7 + 0xb8" (identifier "iVar7") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2c)" (( "(") (binary_expression "puVar15 + 0x2c" (identifier "puVar15") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000cac46:\n                    \n  *(undefined4 *)(puVar17 + -4) = 0xcac4b;" (statement_identifier "LAB_000cac46") (: ":") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0xcac4b;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0xcac4b" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xcac4b")) (; ";"))) (expression_statement "FUN_000be960();" (call_expression "FUN_000be960()" (identifier "FUN_000be960") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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::var_1<32,var_4>::do_count_local_symbols
          (var_1<32,var_4> *this,Stringpool *pool,Stringpool *dynpool)

{
  type_12 *poVar1;
  bool bVar2;
  type_1 var_2;
  type_2 *pIVar4;
  type_3 *p_Var5;
  type_1 uVar6;
  type_4 *pGVar7;
  type_5 DVar8;
  type_1 uVar9;
  type_6 *pOVar10;
  type_7 pcVar11;
  type_8 bVar12;
  type_9 *puVar13;
  type_1 *puVar14;
  var_1<32,var_4> *pSVar15;
  type_10 *pp_Var16;
  int iVar17;
  char *format;
  type_11 *this_00;
  char cVar18;
  type_8 bVar19;
  type_12 start;
  var_1<32,var_4> *pSVar20;
  var_1<32,var_4> *this_01;
  type_13 *in_stack_ffffff84;
  type_1 local_74;
  type_1 local_70;
  var_1<32,var_4> *local_64;
  type_9 *local_60;
  type_1 local_50;
  type_1 local_48;
  int iStack_40;
  type_14 strtab_size;
  type_15 loc;
  
  var_2 = this->symtab_shndx_;
  if (var_2 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (var_2 == 0) {
    return;
  }
  pSVar20 = (var_1<32,var_4> *)&this->elf_file_;
  start = elfcpp::Elf_file<32,var_4,_gold::type_13>::section_header_offset
                    ((Elf_file<32,var_4,_gold::type_13> *)pSVar20,var_2);
  pIVar4 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.input_file_;
  if (pIVar4 != (type_2 *)0x0) {
    puVar13 = File_read::get_view(&pIVar4->file_,
                                  (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                                  offset_,start,0x28,true,true);
    if (*(int *)(puVar13 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      var_3("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    var_2 = this->local_symbol_count_;
    if (var_2 != *(type_1 *)(puVar13 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      var_3("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    pIVar4 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.input_file_;
    if (pIVar4 != (type_2 *)0x0) {
      puVar14 = (type_1 *)File_read::get_view(&pIVar4->file_,
                                            (this->super_Sized_relobj<32,var_4>).super_Relobj.
                                            super_Object.offset_,
                                            (ulonglong)*(type_1 *)(puVar13 + 0x10),var_2 << 4,true,
                                            true);
      local_64 = *(var_1<32,var_4> **)(puVar13 + 0x18);
      if ((var_1<32,var_4> *)0xfeff < local_64) {
        elfcpp::Elf_file<32,var_4,_gold::type_13>::initialize_shnum
                  ((Elf_file<32,var_4,_gold::type_13> *)pSVar20);
        local_64 = (var_1<32,var_4> *)
                   ((int)&(local_64->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                          _vptr_Object + (this->elf_file_).large_shndx_offset_);
      }
      p_Var5 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object[0xe];
      if (p_Var5 == do_section_contents) {
        elfcpp::Elf_file<32,var_4,_gold::type_13>::section_contents
                  ((Elf_file<32,var_4,_gold::type_13> *)pSVar20,(type_1)local_64);
        if (loc.data_size._4_4_ != 0) {
                    /* WARNING: Subroutine does not return */
          var_3("../../gold/gold.h",0xc0,"convert_types");
        }
        local_60 = "";
        strtab_size = (type_14)(var_1<32,var_4> *)loc.data_size;
        local_64 = pSVar20;
        if ((var_1<32,var_4> *)loc.data_size != (var_1<32,var_4> *)0x0) {
          pIVar4 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.input_file_;
          if (pIVar4 == (type_2 *)0x0) goto LAB_000cac46;
          local_60 = File_read::get_view(&pIVar4->file_,
                                         (this->super_Sized_relobj<32,var_4>).super_Relobj.
                                         super_Object.offset_,
                                         CONCAT44(loc.file_offset._4_4_,(type_12 *)loc.file_offset),
                                         (type_14)
                                         (var_1<32,var_4> *)loc.data_size,true,true);
          local_64 = (var_1<32,var_4> *)loc.data_size;
        }
      }
      else {
        local_60 = (type_9 *)(*p_Var5)();
      }
      uVar6 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.shnum_;
      pGVar7 = parameters->options_;
      if (pGVar7 == (type_4 *)0x0) {
LAB_000cac17:
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/parameters.h",0x5c,"options");
      }
      bVar2 = (pGVar7->strip_all_).value;
      DVar8 = pGVar7->discard_locals_;
      if (var_2 < 2) {
        local_50 = 0;
        local_48 = 0;
      }
      else {
        local_50 = 0;
        local_74 = 1;
        local_48 = 0;
        do {
          local_70 = (type_1)*(ushort *)((int)puVar14 + 0x1e);
          pSVar20 = (var_1<32,var_4> *)
                    ((this->local_values_).
                     super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                     ._M_impl._M_start + local_74);
          if (local_70 < 0xff00) {
            cVar18 = '\x01';
LAB_000ca65e:
            ((__node_base *)
            &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
             _M_string_length)->_M_nxt =
                 (_Hash_node_base *)
                 ((type_1)((__node_base *)
                        &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                         _M_string_length)->_M_nxt & 0xf8000000 | local_70);
          }
          else {
            cVar18 = '\0';
            if (local_70 != 0xffff) goto LAB_000ca65e;
            this_00 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.xindex_;
            if (this_00 == (type_11 *)0x0) {
              this_00 = (type_11 *)
                        (*(this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                          _vptr_Object[0x1b])();
              (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.xindex_ = this_00;
            }
            local_64 = this;
            local_70 = type_11::sym_xindex_to_shndx(this_00,(type_13 *)this,local_74);
            ((__node_base *)
            &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
             _M_string_length)->_M_nxt =
                 (_Hash_node_base *)
                 ((type_1)((__node_base *)
                        &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                         _M_string_length)->_M_nxt & 0xf8000000 | local_70 & 0x7ffffff);
            if ((local_70 & 0x7ffffff) != local_70) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/object.h",0x755,"set_input_shndx");
            }
            cVar18 = '\x01';
          }
          bVar12 = *(type_8 *)((int)&((__node_base *)
                                   &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.
                                    super_Object.name_._M_string_length)->_M_nxt + 3) & 0xf7 |
                   cVar18 * '\b';
          *(type_8 *)((int)&((__node_base *)
                          &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                           _M_string_length)->_M_nxt + 3) = bVar12;
          bVar19 = (type_8)puVar14[7] & 0xf;
          if (bVar19 == 3) {
            if ((pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_._M_dataplus
                ._M_p != (type_7)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/object.h",0x76a,"set_is_section_symbol");
            }
            *(type_8 *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x10;
          }
          else if (bVar19 == 6) {
            *(type_8 *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x20;
          }
          else if (bVar19 == 10) {
            *(type_8 *)((int)&((__node_base *)
                            &(pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                             name_._M_string_length)->_M_nxt + 3) = bVar12 | 0x40;
          }
          (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.field_2.
          _M_allocated_capacity = puVar14[5];
          if ((local_70 < uVar6) && (cVar18 != '\0')) {
            pOVar10 = (this->super_Sized_relobj<32,var_4>).super_Relobj.output_sections_.
                      super__Vector_base<gold::type_6*,_std::allocator<gold::type_6*>_>
                      ._M_impl._M_start[local_70];
            if ((pOVar10 != (type_6 *)0x0) &&
               ((pOVar10->order_ != ORDER_EHFRAME ||
                (*(int *)((int)&(((var_1<32,var_4> *)(local_70 * 4))->
                                super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                                _vptr_Object +
                         (int)(this->super_Sized_relobj<32,var_4>).section_offsets_.
                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                              _M_impl._M_start) != -1)))) goto LAB_000ca6c0;
            pSVar15 = (var_1<32,var_4> *)(local_70 * 4);
            if ((type_10 *)
                (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object !=
                (type_10 *)0x0) {
              do {
                local_64 = pSVar15;
                Symbol_value<32>::set_no_output_symtab_entry((Symbol_value<32> *)in_stack_ffffff84);
LAB_000ca9d0:
                pSVar15 = local_64;
                if (((puVar14[7] & 0xf) == 4) ||
                   ((pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                    _M_dataplus._M_p != (type_7)0xffffffff)) {
LAB_000ca906:
                  local_64 = pSVar15;
                  pGVar7 = parameters->options_;
                  if (pGVar7 == (type_4 *)0x0) goto LAB_000cac17;
                  if ((pGVar7->symbols_to_retain_)._M_h._M_element_count != 0) {
                    poVar1 = &loc.data_size;
                    loc.file_offset._0_4_ = poVar1;
                    if (local_64 != (var_1<32,var_4> *)0x0) {
                      strlen((char *)local_64);
                    }
                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                    ::_M_construct<char_const*>();
                    this_01 = (var_1<32,var_4> *)&pGVar7->symbols_to_retain_;
                    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>_>
                            *)this_01,(key_type *)&loc);
                    if ((type_12 *)loc.file_offset != poVar1) {
                      operator_delete((type_12 *)loc.file_offset);
                    }
                    if (iStack_40 == 0) goto LAB_000ca9b7;
                  }
                  Stringpool_template<char>::add(pool,(char *)local_64,true,(Key *)0x0);
                  local_48 = local_48 + 1;
                  goto LAB_000ca745;
                }
                pp_Var16 = (type_10 *)
                           (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                           _vptr_Object;
                if ((pp_Var16 != (type_10 *)0x0) && (pp_Var16 != (type_10 *)0xfffffffe))
                goto LAB_000cac4b;
                if (pp_Var16 == (type_10 *)0xfffffffe) goto LAB_000ca906;
                if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
                  var_3("../../gold/parameters.h",0x69,"target");
                }
                this_01 = local_64;
                iVar17 = (*parameters->target_->_vptr_Target[10])();
                if ((char)iVar17 == '\0') goto LAB_000ca906;
LAB_000ca9b7:
                pp_Var16 = (type_10 *)
                           (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                           _vptr_Object;
                pSVar15 = local_64;
                local_64 = this_01;
joined_r0x000caa5f:
              } while (pp_Var16 != (type_10 *)0x0);
              goto LAB_000ca73f;
            }
            pcVar11 = (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                      _M_dataplus._M_p;
            (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object =
                 (type_3 **)0xffffffff;
            if (pcVar11 != (type_7)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/object.cc",0x90d,"do_count_local_symbols");
            }
          }
          else {
LAB_000ca6c0:
            if (((puVar14[7] & 0xf) == 3) ||
               ((p_Var5 = (this->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                          _vptr_Object[0x40], p_Var5 != do_adjust_local_symbol &&
                (local_64 = pSVar20, iVar17 = (*p_Var5)(), (char)iVar17 == '\0')))) {
              if ((type_10 *)
                  (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object !=
                  (type_10 *)0x0) goto LAB_000cab99;
              pcVar11 = (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                        _M_dataplus._M_p;
              (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object =
                   (type_3 **)0xffffffff;
              if (pcVar11 != (type_7)0xffffffff) {
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/object.cc",0x915,"do_count_local_symbols");
              }
            }
            else {
              uVar9 = puVar14[4];
              if (strtab_size <= uVar9) {
                format = (char *)gettext();
                Object::error((type_13 *)this,format,local_74,uVar9,strtab_size,local_64);
                pp_Var16 = (type_10 *)
                           (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                           _vptr_Object;
                pSVar15 = (var_1<32,var_4> *)strtab_size;
                goto joined_r0x000caa5f;
              }
              pSVar15 = (var_1<32,var_4> *)(local_60 + uVar9);
              if ((pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.name_.
                  _M_dataplus._M_p != (type_7)0xffffffff) {
                local_64 = pSVar15;
                Stringpool_template<char>::add(dynpool,(char *)pSVar15,true,(Key *)0x0);
                local_50 = local_50 + 1;
              }
              if (bVar2 == false) {
                if (DVar8 != DISCARD_ALL) {
                  local_64 = pSVar15;
                  if (DVar8 == DISCARD_LOCALS) goto LAB_000ca9d0;
                  if (DVar8 != DISCARD_SEC_MERGE) goto LAB_000ca906;
                  if (cVar18 == '\0') goto LAB_000ca906;
                  if ((this->super_Sized_relobj<32,var_4>).section_offsets_.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start[local_70] == 0xffffffff) goto LAB_000ca9d0;
                  goto LAB_000ca906;
                }
                pp_Var16 = (type_10 *)
                           (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                           _vptr_Object;
                if ((pp_Var16 != (type_10 *)0x0) && (pp_Var16 != (type_10 *)0xfffffffe))
                {
LAB_000cac4b:
                    /* WARNING: Subroutine does not return */
                  var_3("../../gold/object.h",0x6f2,
                                      "may_be_discarded_from_output_symtab");
                }
                if (pp_Var16 == (type_10 *)0xfffffffe) goto LAB_000ca906;
              }
              else {
                pp_Var16 = (type_10 *)
                           (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object.
                           _vptr_Object;
              }
              if (pp_Var16 != (type_10 *)0x0) {
LAB_000cab99:
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/object.h",0x716,"set_no_output_symtab_entry");
              }
LAB_000ca73f:
              (pSVar20->super_Sized_relobj<32,var_4>).super_Relobj.super_Object._vptr_Object =
                   (type_3 **)0xffffffff;
            }
          }
LAB_000ca745:
          local_74 = local_74 + 1;
          puVar14 = puVar14 + 4;
        } while (var_2 != local_74);
      }
      this->output_local_symbol_count_ = local_48;
      this->output_local_dynsym_count_ = local_50;
      return;
    }
  }
LAB_000cac46:
                    /* WARNING: Subroutine does not return */
  type_13::input_file(in_stack_ffffff84);
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(int *param_1)

{
  code *pcVar1;
  int *piVar2;
  uint uVar3;
  byte bVar4;
  char cVar5;
  char cVar6;
  int iVar7;
  uint *puVar8;
  int iVar9;
  size_t sVar10;
  undefined4 uVar11;
  byte bVar12;
  uint uVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  uint *puVar18;
  int *piVar19;
  undefined8 uVar20;
  int unaff_retaddr;
  undefined1 auStack_7c [16];
  int local_6c;
  undefined *local_64;
  undefined4 local_60;
  int local_3c;
  undefined4 local_38;
  undefined4 local_34;
  int local_30;
  int local_2c;
  undefined4 uStack_14;
  
  uStack_14 = 0xca499;
  iVar7 = param_1[0x2b];
  if (iVar7 == -1) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620("../../gold/object.cc",0x8c2,"do_count_local_symbols");
  }
  if (iVar7 == 0) {
    return;
  }
  piVar19 = param_1 + 0x24;
  uVar20 = FUN_000c52b0(piVar19,iVar7);
  puVar17 = auStack_7c;
  if (param_1[7] != 0) {
    iVar7 = FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],uVar20,0x28,1);
    puVar17 = auStack_7c;
    if (*(int *)(iVar7 + 4) != 2) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620("../../gold/object.cc",0x8cd,"do_count_local_symbols");
    }
    local_6c = param_1[0x2c];
    if (local_6c != *(int *)(iVar7 + 0x1c)) {
                    /* WARNING: Subroutine does not return */
      FUN_0008b620("../../gold/object.cc",0x8d2,"do_count_local_symbols");
    }
    if (param_1[7] != 0) {
      puVar8 = (uint *)FUN_00085770(param_1[7] + 0x1c,param_1[8],param_1[9],
                                    *(undefined4 *)(iVar7 + 0x10),0,local_6c << 4,1);
      uVar13 = *(uint *)(iVar7 + 0x18);
      if (0xfeff < uVar13) {
        FUN_000c47d0(piVar19);
        uVar13 = uVar13 + param_1[0x29];
      }
      puVar15 = auStack_7c;
      if (*(code **)(*param_1 + 0x38) == FUN_000c5550) {
        FUN_000c5480(&local_34,piVar19,uVar13);
        puVar15 = &stack0xffffff80;
        puVar17 = &stack0xffffff80;
        if (local_2c != 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620("../../gold/gold.h",0xc0,"convert_types",local_2c);
        }
        local_3c = local_30;
        local_64 = &DAT_00257c6b;
        if (local_30 != 0) {
          if (*(int *)(unaff_retaddr + 0x1c) == 0) goto LAB_000cac46;
          local_64 = (undefined *)
                     FUN_00085770(*(int *)(unaff_retaddr + 0x1c) + 0x1c,
                                  *(undefined4 *)(unaff_retaddr + 0x20),
                                  *(undefined4 *)(unaff_retaddr + 0x24),local_38,local_34,local_30,1
                                  ,1);
          puVar15 = &stack0xffffff80;
        }
      }
      else {
        local_60 = (**(code **)(*param_1 + 0x38))(param_1,uVar13,&local_38);
      }
      *(undefined4 *)(puVar15 + 0x14) = *(undefined4 *)(*(int *)(puVar15 + 0x80) + 0x28);
      *(int **)(puVar15 + 0x30) = &DAT_0033f2f0;
      iVar7 = *(int *)(DAT_0033f2f0 + 8);
      puVar16 = puVar15;
      if (iVar7 == 0) {
LAB_000cac17:
        *(int *)(puVar16 + -4) = iVar7;
        *(char **)(puVar16 + -8) = "options";
        *(undefined4 *)(puVar16 + -0xc) = 0x5c;
        *(char **)(puVar16 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0xcac2d;
        FUN_0008b620();
      }
      uVar11 = *(undefined4 *)(iVar7 + 0x5a78);
      puVar15[0x27] = *(undefined1 *)(iVar7 + 0x3469);
      *(undefined4 *)(puVar15 + 0x20) = uVar11;
      if (*(uint *)(puVar15 + 0x10) < 2) {
        *(undefined4 *)(puVar15 + 0x2c) = 0;
        *(undefined4 *)(puVar15 + 0x34) = 0;
      }
      else {
        *(undefined4 *)(puVar15 + 0x2c) = 0;
        *(undefined4 *)(puVar15 + 8) = 1;
        piVar19 = *(int **)(puVar15 + 0x80);
        *(undefined4 *)(puVar15 + 0x34) = 0;
        do {
          uVar13 = (uint)*(ushort *)((int)puVar8 + 0x1e);
          *(uint *)(puVar15 + 0xc) = uVar13;
          puVar18 = (uint *)(*(int *)(puVar15 + 8) * 0x10 + piVar19[0x37]);
          if (uVar13 < 0xff00) {
            cVar6 = '\x01';
LAB_000ca65e:
            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13;
          }
          else {
            cVar6 = '\0';
            if (uVar13 != 0xffff) goto LAB_000ca65e;
            iVar7 = piVar19[0xc];
            if (iVar7 == 0) {
              iVar7 = *piVar19;
              *(int **)(puVar15 + -0x10) = piVar19;
              pcVar1 = *(code **)(iVar7 + 0x6c);
              *(undefined4 *)(puVar15 + -0x14) = 0xcaaa1;
              iVar7 = (*pcVar1)();
              piVar19[0xc] = iVar7;
            }
            *(undefined4 *)(puVar15 + -8) = *(undefined4 *)(puVar15 + 8);
            *(int **)(puVar15 + -0xc) = piVar19;
            *(int *)(puVar15 + -0x10) = iVar7;
            *(undefined4 *)(puVar15 + -0x14) = 0xca889;
            uVar13 = FUN_000beba0();
            *(uint *)(puVar15 + 0xc) = uVar13;
            puVar18[2] = puVar18[2] & 0xf8000000 | uVar13 & 0x7ffffff;
            if ((uVar13 & 0x7ffffff) != uVar13) {
              *(char **)(puVar15 + -8) = "set_input_shndx";
              *(undefined4 *)(puVar15 + -0xc) = 0x755;
              *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar15 + -0x14) = 0xcab99;
              FUN_0008b620();
            }
            cVar6 = '\x01';
          }
          bVar4 = *(byte *)((int)puVar18 + 0xb) & 0xf7 | cVar6 * '\b';
          *(byte *)((int)puVar18 + 0xb) = bVar4;
          bVar12 = (byte)puVar8[7] & 0xf;
          if (bVar12 == 3) {
            if (puVar18[1] != 0xffffffff) {
              *(char **)(puVar15 + -8) = "set_is_section_symbol";
              *(undefined4 *)(puVar15 + -0xc) = 0x76a;
              *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar15 + -0x14) = 0xcabcf;
              FUN_0008b620();
            }
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x10;
          }
          else if (bVar12 == 6) {
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x20;
          }
          else if (bVar12 == 10) {
            *(byte *)((int)puVar18 + 0xb) = bVar4 | 0x40;
          }
          puVar18[3] = puVar8[5];
          uVar13 = *(uint *)(puVar15 + 0xc);
          if ((uVar13 < *(uint *)(puVar15 + 0x14)) && (cVar6 != '\0')) {
            *(uint *)(puVar15 + 0x18) = uVar13 << 2;
            iVar7 = *(int *)(piVar19[0xe] + uVar13 * 4);
            if ((iVar7 != 0) &&
               ((*(int *)(iVar7 + 0x5c) != 0xf ||
                (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0x18)) != -1)))) goto LAB_000ca6c0;
            if (*puVar18 != 0) {
              do {
                *(undefined4 *)(puVar15 + -4) = 0xca9c6;
                FUN_000be990();
LAB_000ca9d0:
                uVar13 = (byte)puVar8[7] & 0xf;
                if (((char)uVar13 == '\x04') || (puVar18[1] != 0xffffffff)) {
LAB_000ca900:
                  iVar7 = **(int **)(puVar15 + 0x30);
                  puVar16 = puVar15;
LAB_000ca906:
                  iVar14 = *(int *)(iVar7 + 8);
                  if (iVar14 == 0) goto LAB_000cac17;
                  if (*(int *)(iVar14 + 0x5a48) != 0) {
                    iVar7 = *(int *)(puVar16 + 0x18);
                    *(undefined1 **)(puVar16 + 0xc) = puVar16 + 0x50;
                    *(undefined1 **)(puVar16 + 0x48) = puVar16 + 0x50;
                    iVar9 = -1;
                    if (iVar7 != 0) {
                      *(int *)(puVar16 + 0x28) = iVar14;
                      *(int *)(puVar16 + 0x18) = iVar7;
                      *(int *)(puVar16 + -0x10) = iVar7;
                      *(undefined4 *)(puVar16 + -0x14) = 0xca949;
                      sVar10 = strlen(*(char **)(puVar16 + -0x10));
                      iVar14 = *(int *)(puVar16 + 0x28);
                      iVar9 = sVar10 + *(int *)(puVar16 + 0x18);
                    }
                    *(int *)(puVar16 + 0x38) = iVar14;
                    *(undefined4 *)(puVar16 + -4) = 0;
                    *(int *)(puVar16 + -8) = iVar9;
                    *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);
                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x48;
                    *(undefined1 **)(puVar16 + 0x28) = puVar16 + 0x48;
                    *(undefined4 *)(puVar16 + -0x14) = 0xca96d;
                    FUN_00056c80();
                    *(undefined4 *)(puVar16 + -8) = *(undefined4 *)(puVar16 + 0x28);
                    *(int *)(puVar16 + -0xc) = *(int *)(puVar16 + 0x38) + 0x5a3c;
                    *(undefined1 **)(puVar16 + -0x10) = puVar16 + 0x3c;
                    *(undefined4 *)(puVar16 + -0x14) = 0xca98a;
                    FUN_0007bca0();
                    iVar7 = *(int *)(puVar16 + 0x38);
                    if (*(int *)(puVar16 + 0x44) != *(int *)(puVar16 + 8)) {
                      *(int *)(puVar16 + 8) = iVar7;
                      *(int *)(puVar16 + -0x14) = *(int *)(puVar16 + 0x44);
                      *(undefined4 *)(puVar16 + -0x18) = 0xca9a8;
                      FUN_001ac470();
                      iVar7 = *(int *)(puVar16 + 8);
                    }
                    puVar15 = puVar16 + -4;
                    puVar16 = puVar16 + -4;
                    if (iVar7 == 0) goto LAB_000ca9b7;
                  }
                  *(undefined4 *)(puVar16 + -4) = 0;
                  *(undefined4 *)(puVar16 + -8) = 1;
                  *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(puVar16 + 0x18);
                  *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(puVar16 + 0x84);
                  *(undefined4 *)(puVar16 + -0x14) = 0xcaa84;
                  FUN_0014bcb0();
                  *(int *)(puVar16 + 0x34) = *(int *)(puVar16 + 0x34) + 1;
                  puVar15 = puVar16;
                  goto LAB_000ca745;
                }
                uVar3 = *puVar18;
                if ((uVar3 != 0) && (uVar3 != 0xfffffffe)) goto LAB_000cac4b;
                iVar7 = **(int **)(puVar15 + 0x30);
                puVar16 = puVar15;
                if (uVar3 == 0xfffffffe) goto LAB_000ca906;
                piVar2 = *(int **)(iVar7 + 0xc);
                if (piVar2 == (int *)0x0) {
                  *(uint **)(puVar15 + -4) = puVar18;
                  *(char **)(puVar15 + -8) = "target";
                  *(undefined4 *)(puVar15 + -0xc) = 0x69;
                  *(char **)(puVar15 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar15 + -0x14) = 0xcabfe;
                  FUN_0008b620();
                }
                iVar7 = *piVar2;
                *(undefined4 *)(puVar15 + -0xc) = *(undefined4 *)(puVar15 + 0x18);
                *(int **)(puVar15 + -0x10) = piVar2;
                pcVar1 = *(code **)(iVar7 + 0x28);
                *(undefined4 *)(puVar15 + -0x14) = 0xcaa1f;
                cVar6 = (*pcVar1)();
                if (cVar6 == '\0') goto LAB_000ca900;
LAB_000ca9b7:
                uVar13 = *puVar18;
joined_r0x000caa5f:
              } while (uVar13 != 0);
              goto LAB_000ca73f;
            }
            *puVar18 = 0xffffffff;
            if (puVar18[1] != 0xffffffff) {
              *(undefined4 *)(puVar15 + -4) = 0;
              *(char **)(puVar15 + -8) = "do_count_local_symbols";
              *(undefined4 *)(puVar15 + -0xc) = 0x90d;
              *(char **)(puVar15 + -0x10) = "../../gold/object.cc";
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar15 + -0x14) = &UNK_000ca85c;
              FUN_0008b620();
            }
          }
          else {
LAB_000ca6c0:
            if ((puVar8[7] & 0xf) == 3) {
LAB_000ca7ab:
              if (*puVar18 != 0) goto LAB_000cab99;
              *puVar18 = 0xffffffff;
              if (puVar18[1] != 0xffffffff) {
                *(char **)(puVar15 + -8) = "do_count_local_symbols";
                *(undefined4 *)(puVar15 + -0xc) = 0x915;
                *(char **)(puVar15 + -0x10) = "../../gold/object.cc";
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar15 + -0x14) = &UNK_000ca7dc;
                FUN_0008b620();
              }
            }
            else {
              pcVar1 = *(code **)(*piVar19 + 0x100);
              if (pcVar1 != FUN_000c0270) {
                puVar15[0x18] = cVar6;
                *(uint **)(puVar15 + -0xc) = puVar18;
                *(int **)(puVar15 + -0x10) = piVar19;
                *(undefined4 *)(puVar15 + -0x14) = 0xca79b;
                cVar5 = (*pcVar1)();
                cVar6 = puVar15[0x18];
                if (cVar5 == '\0') goto LAB_000ca7ab;
              }
              uVar13 = puVar8[4];
              *(uint *)(puVar15 + 0x18) = *(uint *)(puVar15 + 0x44);
              if (*(uint *)(puVar15 + 0x44) <= uVar13) {
                *(uint *)(puVar15 + 0xc) = uVar13;
                *(char **)(puVar15 + -0x10) = "local symbol %u section name out of range: %u >= %u";
                *(undefined4 *)(puVar15 + -0x14) = 0xcaa43;
                uVar11 = gettext();
                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x18);
                *(undefined4 *)(puVar15 + -0x14) = *(undefined4 *)(puVar15 + 0xc);
                *(undefined4 *)(puVar15 + -0x18) = *(undefined4 *)(puVar15 + 8);
                *(undefined4 *)(puVar15 + -0x1c) = uVar11;
                *(int **)(puVar15 + -0x20) = piVar19;
                *(undefined4 *)(puVar15 + -0x24) = 0xcaa58;
                FUN_000beb20();
                uVar13 = *puVar18;
                goto joined_r0x000caa5f;
              }
              uVar3 = puVar18[1];
              *(uint *)(puVar15 + 0x18) = *(int *)(puVar15 + 0x1c) + uVar13;
              if (uVar3 != 0xffffffff) {
                puVar15[0x28] = cVar6;
                *(undefined4 *)(puVar15 + -4) = 0;
                *(undefined4 *)(puVar15 + -8) = 1;
                *(uint *)(puVar15 + -0xc) = *(int *)(puVar15 + 0x1c) + uVar13;
                *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0x88);
                *(undefined4 *)(puVar15 + -0x14) = 0xca71d;
                FUN_0014bcb0();
                *(int *)(puVar15 + 0x2c) = *(int *)(puVar15 + 0x2c) + 1;
                cVar6 = puVar15[0x28];
              }
              if (puVar15[0x27] == '\0') {
                if (*(int *)(puVar15 + 0x20) != 3) {
                  if (*(int *)(puVar15 + 0x20) == 2) goto LAB_000ca9d0;
                  if (*(int *)(puVar15 + 0x20) != 0) goto LAB_000ca900;
                  if (cVar6 == '\0') goto LAB_000ca900;
                  if (*(int *)(piVar19[0x21] + *(int *)(puVar15 + 0xc) * 4) == -1)
                  goto LAB_000ca9d0;
                  goto LAB_000ca900;
                }
                uVar13 = *puVar18;
                if ((uVar13 != 0) && (uVar13 != 0xfffffffe)) {
LAB_000cac4b:
                  *(uint *)(puVar15 + -4) = uVar13;
                  *(char **)(puVar15 + -8) = "may_be_discarded_from_output_symtab";
                  *(undefined4 *)(puVar15 + -0xc) = 0x6f2;
                  *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar15 + -0x14) = 0xcac64;
                  FUN_0008b620();
                }
                if (uVar13 == 0xfffffffe) goto LAB_000ca900;
              }
              else {
                uVar13 = *puVar18;
              }
              if (uVar13 != 0) {
LAB_000cab99:
                *(char **)(puVar15 + -8) = "set_no_output_symtab_entry";
                *(undefined4 *)(puVar15 + -0xc) = 0x716;
                *(char **)(puVar15 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar15 + -0x14) = 0xcabb4;
                FUN_0008b620();
              }
LAB_000ca73f:
              *puVar18 = 0xffffffff;
            }
          }
LAB_000ca745:
          *(int *)(puVar15 + 8) = *(int *)(puVar15 + 8) + 1;
          puVar8 = puVar8 + 4;
        } while (*(int *)(puVar15 + 0x10) != *(int *)(puVar15 + 8));
      }
      iVar7 = *(int *)(puVar15 + 0x80);
      *(undefined4 *)(iVar7 + 0xb4) = *(undefined4 *)(puVar15 + 0x34);
      *(undefined4 *)(iVar7 + 0xb8) = *(undefined4 *)(puVar15 + 0x2c);
      return;
    }
  }
LAB_000cac46:
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -4) = 0xcac4b;
  FUN_000be960();
}

